CLI Comparison

Originally published: 2026-09-17

Last modified: 2026-09-20

Get an up-to-date picture of how Best's CLI compares to Jest and Pest. See what is supported, what isn't, and what will be in the future.

Binary

Jest Pest Best
jest pest best

Options

Option Jest Pest Best
--bail ✅️ ✅️ 📋️
--bootstrap ❌️ ✅️ 🤷‍♂️
--cache-directory ❌️ ✅️ 🤷‍♂️
--cache-result ❌️ ✅️ 🤷‍♂️
--cache ✅️ ❌️ 🤷‍♂️
--changedFilesWithAncestor ✅️ ❌️ 🤷‍♂️
--changedSince ✅️ ❌️ 🤷‍♂️
--ci ✅️ ✅️ 📋️
--class ❌️ ✅️ 🤷‍♂️
--clear-cache ❌️ ✅️ 🤷‍♂️
--clearCache ✅️ ❌️ 🤷‍♂️
--clearMocks ✅️ ❌️ 🤷‍♂️
--collectCoverageFrom ✅️ ❌️ 🤷‍♂️
--collectTests ✅️ ❌️ 🤷‍♂️
--colors ✅️ ✅️ 📋️
--columns ❌️ ✅️ 🤷‍♂️
--compact ❌️ ✅️ 🤷‍♂️
--config ✅️ ❌️ 🤷‍♂️
--configuration ❌️ ✅️ 🤷‍♂️
--coverage-clover ❌️ ✅️ 🤷‍♂️
--coverage-cobertura ❌️ ✅️ 🤷‍♂️
--coverage-crap4j ❌️ ✅️ 🤷‍♂️
--coverage-filter ❌️ ✅️ 🤷‍♂️
--coverage-html ❌️ ✅️ 🤷‍♂️
--coverage-php ❌️ ✅️ 🤷‍♂️
--coverage-text ❌️ ✅️ 🤷‍♂️
--coverage-xml ❌️ ✅️ 🤷‍♂️
--coverage ✅️ ✅️ 🤷‍♂️
--coverageDirectory ✅️ ❌️ 🤷‍♂️
--coverageProvider ✅️ ❌️ 🤷‍♂️
--covered-only ❌️ ✅️ 🤷‍♂️
--covers ❌️ ✅️ 🤷‍♂️
-d ❌️ ✅️ 🤷‍♂️
--debug ✅️ ✅️ ✅️
--default-time-limit ❌️ ✅️ 🤷‍♂️
--detectOpenHandles ✅️ ❌️ 🤷‍♂️
--disable-coverage-ignore ❌️ ✅️ 🤷‍♂️
--disallow-test-output ❌️ ✅️ 🤷‍♂️
--display-deprecations ❌️ ✅️ 🤷‍♂️
--display-errors ❌️ ✅️ 🤷‍♂️
--display-incomplete ❌️ ✅️ 🤷‍♂️
--display-notices ❌️ ✅️ 🤷‍♂️
--display-phpunit-deprecations ❌️ ✅️ 🤷‍♂️
--display-skipped ❌️ ✅️ 🤷‍♂️
--display-warnings ❌️ ✅️ 🤷‍♂️
--do-not-cache-result ❌️ ✅️ 🤷‍♂️
--dont-report-useless-tests ❌️ ✅️ 🤷‍♂️
--enforce-time-limit ❌️ ✅️ 🤷‍♂️
--env ✅️ ❌️ 🤷‍♂️
--errorOnDeprecated ✅️ ❌️ 🤷‍♂️
--everything ❌️ ✅️ 🤷‍♂️
--exactly ❌️ ✅️ 🤷‍♂️
--exclude-filter ❌️ ✅️ 🤷‍♂️
--exclude-group ❌️ ✅️ 🤷‍♂️
--exclude-testsuite ❌️ ✅️ 🤷‍♂️
--expand ✅️ ❌️ 🤷‍♂️
--extension ❌️ ✅️ 🤷‍♂️
--fail-on-deprecation ❌️ ✅️ 🤷‍♂️
--fail-on-empty-test-suite ❌️ ✅️ 🤷‍♂️
--fail-on-incomplete ❌️ ✅️ 🤷‍♂️
--fail-on-notice ❌️ ✅️ 🤷‍♂️
--fail-on-phpunit-deprecation ❌️ ✅️ 🤷‍♂️
--fail-on-risky ❌️ ✅️ 🤷‍♂️
--fail-on-warning ❌️ ✅️ 🤷‍♂️
--filter ✅️ ✅️ ✅️
--findRelatedTests ✅️ ❌️ 🤷‍♂️
--flaky ❌️ ✅️ 🤷‍♂️
--forceExit ✅️ ❌️ 🤷‍♂️
--generate-baseline ❌️ ✅️ 🤷‍♂️
--generate-configuration ❌️ ✅️ 🤷‍♂️
--globals-backup ❌️ ✅️ 🤷‍♂️
--group ❌️ ✅️ 🤷‍♂️
--help ✅️ ❌️ ✅️
--id ❌️ ✅️ 🤷‍♂️
--ignore-baseline ❌️ ✅️ 🤷‍♂️
--ignore-min-score-on-zero-mutations ❌️ ✅️ 🤷‍♂️
--ignore ❌️ ✅️ 🤷‍♂️
--ignoreProjects ✅️ ❌️ 🤷‍♂️
--include-path ❌️ ✅️ 🤷‍♂️
--init ❌️ ✅️ 🤷‍♂️
--injectGlobals ✅️ ❌️ 🤷‍♂️
--issue ❌️ ✅️ 🤷‍♂️
--json ✅️ ❌️ 🤷‍♂️
--lastCommit ✅️ ❌️ 🤷‍♂️
--list-groups ❌️ ✅️ 🤷‍♂️
--list-suites ❌️ ✅️ 🤷‍♂️
--list-test-files ❌️ ✅️ 🤷‍♂️
--list-tests-xml ❌️ ✅️ 🤷‍♂️
--list-tests ❌️ ✅️ 🤷‍♂️
--listTests ✅️ ❌️ 🤷‍♂️
--log-events-text ❌️ ✅️ 🤷‍♂️
--log-events-verbose-text ❌️ ✅️ 🤷‍♂️
--log-junit ❌️ ✅️ 🤷‍♂️
--log-teamcity ❌️ ✅️ 🤷‍♂️
--logHeapUsage ✅️ ❌️ 🤷‍♂️
--maxConcurrency ✅️ ❌️ 🤷‍♂️
--maxWorkers ✅️ ❌️ 🤷‍♂️
--migrate-configuration ❌️ ✅️ 🤷‍♂️
--min ❌️ ✅️ 🤷‍♂️
--mutate ❌️ ✅️ 🤷‍♂️
--no-cache ❌️ ✅️ 🤷‍♂️
--no-configuration ❌️ ✅️ 🤷‍♂️
--no-coverage ❌️ ✅️ 🤷‍♂️
--no-extensions ❌️ ✅️ 🤷‍♂️
--no-logging ❌️ ✅️ 🤷‍♂️
--no-output ❌️ ✅️ 🤷‍♂️
--no-progress ❌️ ✅️ 🤷‍♂️
--no-results ❌️ ✅️ 🤷‍♂️
--noStackTrace ✅️ ❌️ 🤷‍♂️
--notes ❌️ ✅️ 🤷‍♂️
--notify ✅️ ❌️ 🤷‍♂️
--only-covered ❌️ ✅️ 🤷‍♂️
--only-summary-for-coverage-text ❌️ ✅️ 🤷‍♂️
--onlyChanged ✅️ ❌️ 🤷‍♂️
--onlyFailures ✅️ ❌️ 🤷‍♂️
--openHandlesTimeout ✅️ ❌️ 🤷‍♂️
--order-by ❌️ ✅️ 🤷‍♂️
--outputFile ✅️ ❌️ 🤷‍♂️
--parallel ❌️ ✅️ 🤷‍♂️
--parallel ❌️ ✅️ 🤷‍♂️
--passWithNoTests ✅️ ❌️ 🤷‍♂️
--path-coverage ❌️ ✅️ 🤷‍♂️
--pr ❌️ ✅️ 🤷‍♂️
--profile ❌️ ✅️ 🤷‍♂️
--projects ✅️ ❌️ 🤷‍♂️
--pull-request ❌️ ✅️ 🤷‍♂️
--random-order-seed ❌️ ✅️ 🤷‍♂️
--randomize ✅️ ❌️ 🤷‍♂️
--reporters ✅️ ❌️ 🤷‍♂️
--requires-php-extension ❌️ ✅️ 🤷‍♂️
--resetMocks ✅️ ❌️ 🤷‍♂️
--restoreMocks ✅️ ❌️ 🤷‍♂️
--retry ❌️ ✅️ 🤷‍♂️
--reverse-list ❌️ ✅️ 🤷‍♂️
--roots ✅️ ❌️ 🤷‍♂️
--runInBand ✅️ ❌️ 🤷‍♂️
--runTestsByPath ✅️ ❌️ 🤷‍♂️
--seed ✅️ ❌️ 🤷‍♂️
--selectProjects ✅️ ❌️ 🤷‍♂️
--setupFilesAfterEnv ✅️ ❌️ 🤷‍♂️
--shard ✅️ ✅️ 🤷‍♂️
--show-uncovered-for-coverage-text ❌️ ✅️ 🤷‍♂️
--showConfig ✅️ ❌️ 🤷‍♂️
--showSeed ✅️ ❌️ 🤷‍♂️
--silent ✅️ ❌️ 🤷‍♂️
--static-backup ❌️ ✅️ 🤷‍♂️
--stderr ❌️ ✅️ 🤷‍♂️
--stop-on-defect ❌️ ✅️ 🤷‍♂️
--stop-on-deprecation ❌️ ✅️ 🤷‍♂️
--stop-on-error ❌️ ✅️ 🤷‍♂️
--stop-on-failure ❌️ ✅️ 🤷‍♂️
--stop-on-incomplete ❌️ ✅️ 🤷‍♂️
--stop-on-notice ❌️ ✅️ 🤷‍♂️
--stop-on-risky ❌️ ✅️ 🤷‍♂️
--stop-on-skipped ❌️ ✅️ 🤷‍♂️
--stop-on-uncovered ❌️ ✅️ 🤷‍♂️
--stop-on-untested ❌️ ✅️ 🤷‍♂️
--stop-on-warning ❌️ ✅️ 🤷‍♂️
--strict-coverage ❌️ ✅️ 🤷‍♂️
--strict-global-state ❌️ ✅️ 🤷‍♂️
--teamcity ❌️ ✅️ 🤷‍♂️
--test-directory ❌️ ✅️ 🤷‍♂️
--test-suffix ❌️ ✅️ 🤷‍♂️
--testdox-html ❌️ ✅️ 🤷‍♂️
--testdox-summary ❌️ ✅️ 🤷‍♂️
--testdox-text ❌️ ✅️ 🤷‍♂️
--testdox ❌️ ✅️ 🤷‍♂️
--testEnvironmentOptions ✅️ ❌️ 🤷‍♂️
--testLocationInResults ✅️ ❌️ 🤷‍♂️
--testMatch ✅️ ❌️ 🤷‍♂️
--testNamePattern ✅️ ❌️ 🤷‍♂️
--testPathIgnorePattern ✅️ ❌️ 🤷‍♂️
--testPathPatterns ✅️ ❌️ 🤷‍♂️
--testRunner ✅️ ❌️ 🤷‍♂️
--testSequencer ✅️ ❌️ 🤷‍♂️
--testsuite ❌️ ✅️ 🤷‍♂️
--testTimeout ✅️ ❌️ 🤷‍♂️
--todos ❌️ ✅️ 🤷‍♂️
--update-shards ❌️ ✅️ 🤷‍♂️
--update-snapshots ❌️ ✅️ 🤷‍♂️
--updateSnapshot ✅️ ❌️ 🤷‍♂️
--use-baseline ❌️ ✅️ 🤷‍♂️
--uses ❌️ ✅️ 🤷‍♂️
--useStderr ✅️ ❌️ 🤷‍♂️
--verbose ✅️ ❌️ 🤷‍♂️
--version ✅️ ❌️ ✅️
--waitForUnhandledRejections ✅️ ❌️ 🤷‍♂️
--warm-coverage-cache ❌️ ✅️ 🤷‍♂️
--watch ✅️ ❌️ 🤷‍♂️
--watchAll ✅️ ❌️ 🤷‍♂️
--watchman ✅️ ❌️ 🤷‍♂️
--workerGracefulExitTimeout ✅️ ❌️ 🤷‍♂️
--workerThreads ✅️ ❌️ 🤷‍♂️

Arguments

Argument Jest Pest Best
<regexForTestFiles> ✅️ ❌️ 🤷‍♂️