Jest can be configured in many ways, but primarily you'll need to at least have the jestConfig options

1"test": { 2 "executor": "@nx/jest:jest", 3 "options": { 4 "jestConfig": "libs/my-lib/jest.config.ts" 5 } 6} 7

It is also helpful to have passWithNoTests: true set so your project doesn't fail testing while tests are still being added.

1"test": { 2 "executor": "@nx/jest:jest", 3 "options": { 4 "jestConfig": "libs/my-lib/jest.config.ts", 5 "passWithNoTests": true 6 } 7} 8

Snapshots

Update snapshots running with --update-snapshot or -u for short.

1nx test my-project -u 2

Other times you might not want to allow updating snapshots such as in CI. Adding a ci configuration is helpful for adding this behavior.

1"test": { 2 "executor": "@nx/jest:jest", 3 "options": { 4 "jestConfig": "libs/my-lib/jest.config.ts", 5 "passWithNoTests": true 6 }, 7 "configurations": { 8 "ci": { 9 "ci": true 10 } 11 } 12} 13
1nx affected --target=test 2

Learn more about affected

Options

jestConfig

Required
string

The path of the Jest configuration. (https://jestjs.io/docs/en/configuration)

bail

b
oneOf [number, boolean]

Exit the test suite immediately after n number of failing tests. (https://jestjs.io/docs/cli#--bail)

codeCoverage

boolean

Indicates that test coverage information should be collected and reported in the output. (https://jestjs.io/docs/cli#--coverageboolean)

config

string

The path to a Jest config file specifying how to find and execute tests. If no rootDir is set in the config, the directory containing the config file is assumed to be the rootDir for the project. This can also be a JSON-encoded value which Jest will use as configuration.

clearCache

boolean

Deletes the Jest cache directory and then exits without running tests. Will delete Jest's default cache directory. Note: clearing the cache will reduce performance.

ci

boolean

Whether to run Jest in continuous integration (CI) mode. This option is on by default in most popular CI environments. It will prevent snapshots from being written unless explicitly requested. (https://jestjs.io/docs/cli#--ci)

color

colors
boolean

Forces test results output color highlighting (even if stdout is not a TTY). Set to false if you would like to have no colors. (https://jestjs.io/docs/cli#--colors)

changedSince

string

Runs tests related to the changes since the provided branch or commit hash. If the current branch has diverged from the given branch, then only changes made locally will be tested. (https://jestjs.io/docs/cli#--changedsince)

colors

boolean

Forces test results output highlighting even if stdout is not a TTY. (https://jestjs.io/docs/cli#--colors)

coverageReporters

Array<string>

A list of reporter names that Jest uses when writing coverage reports. Any istanbul reporter.

coverageDirectory

string

The directory where Jest should output its coverage files.

detectOpenHandles

boolean

Attempt to collect and print open handles preventing Jest from exiting cleanly (https://jestjs.io/docs/cli#--detectopenhandles)

detectLeaks

boolean

EXPERIMENTAL: Detect memory leaks in tests. After executing a test, it will try to garbage collect the global object used, and fail if it was leaked

findRelatedTests

string

Find and run the tests that cover a comma separated list of source files that were passed in as arguments. (https://jestjs.io/docs/cli#--findrelatedtests-spaceseparatedlistofsourcefiles)

forceExit

boolean

Force Jest to exit after all tests have completed running. This is useful when resources set up by test code cannot be adequately cleaned up.This feature is an escape-hatch. If Jest doesn't exit at the end of a test run, it means external resources are still being held on to or timers are still pending in your code. It is advised to tear down external resources after each test to make sure Jest can shut down cleanly. You can use --detectOpenHandles to help track it down.

json

boolean

Prints the test results in JSON. This mode will send all other test output and user messages to stderr. (https://jestjs.io/docs/cli#--json)

logHeapUsage

boolean

Logs the heap usage after every test. Useful to debug memory leaks. Use together with --runInBand and --expose-gc in node.

maxWorkers

w
oneOf [number, string]

Specifies the maximum number of workers the worker-pool will spawn for running tests. This defaults to the number of the cores available on your machine. Useful for CI. (its usually best not to override this default) (https://jestjs.io/docs/cli#--maxworkersnumstring)

onlyChanged

o
boolean

Attempts to identify which tests to run based on which files have changed in the current repository. Only works if you're running tests in a git or hg repository at the moment. (https://jestjs.io/docs/cli#--onlychanged)

outputFile

string

Write test results to a file when the --json option is also specified. (https://jestjs.io/docs/cli#--outputfilefilename)

passWithNoTests

boolean

Will not fail if no tests are found (for example while using --testPathPattern.) (https://jestjs.io/docs/cli#--passwithnotests)

randomize

boolean

Shuffle the order of the tests within a file. The shuffling is based on the seed. This option is only supported using the default jest-circus test runner.

runInBand

i
boolean

Run all tests serially in the current process (rather than creating a worker pool of child processes that run tests). This is sometimes useful for debugging, but such use cases are pretty rare. Useful for CI. (https://jestjs.io/docs/cli#--runinband)

reporters

Array<string>

Run tests with specified reporters. Reporter options are not available via CLI. Example with multiple reporters: jest --reporters="default" --reporters="jest-junit". (https://jestjs.io/docs/cli#--reporters)

showConfig

boolean

Print your Jest config and then exits. (https://jestjs.io/docs/en/cli#--showconfig)

silent

boolean

Prevent tests from printing messages through the console. (https://jestjs.io/docs/cli#--silent)

testFile

string

The name of the file to test.

testNamePattern

t
string

Run only tests with a name that matches the regex pattern. (https://jestjs.io/docs/cli#--testnamepatternregex)

testPathIgnorePatterns

Array<string>

An array of regexp pattern strings that is matched against all tests paths before executing the test. Only run those tests with a path that does not match with the provided regexp expressions. (https://jestjs.io/docs/cli#--testpathignorepatternsregexarray)

testPathPattern

Array<string>
Default: []

An array of regexp pattern strings that is matched against all tests paths before executing the test. (https://jestjs.io/docs/cli#--testpathpatternregex)

testResultsProcessor

string

Node module that implements a custom results processor. (https://jestjs.io/docs/en/configuration#testresultsprocessor-string)

testLocationInResults

boolean

Adds a location field to test results. Used to report location of a test in a reporter. { "column": 4, "line": 5 } (https://jestjs.io/docs/cli#--testlocationinresults)

testTimeout

number

Default timeout of a test in milliseconds. Default value: 5000. (https://jestjs.io/docs/cli#--testtimeoutnumber)

updateSnapshot

u
boolean

Use this flag to re-record snapshots. Can be used together with a test suite pattern or with --testNamePattern to re-record snapshot for test matching the pattern. (https://jestjs.io/docs/cli#--updatesnapshot)

useStderr

boolean

Divert all output to stderr.

verbose

boolean

Display individual test results with the test suite hierarchy. (https://jestjs.io/docs/cli#--verbose)

watch

boolean

Watch files for changes and rerun tests related to changed files. If you want to re-run all tests when a file has changed, use the --watchAll option. (https://jestjs.io/docs/cli#--watch)

watchAll

boolean

Watch files for changes and rerun all tests when something changes. If you want to re-run only the tests that depend on the changed files, use the --watch option. (https://jestjs.io/docs/cli#--watchall)

setupFile

Deprecated
string

The name of a setup file used by Jest.

Use the setupFilesAfterEnv option in the jest config file. https://jestjs.io/docs/en/configuration#setupfilesafterenv-array

tsConfig

Deprecated
string

The name of the Typescript configuration file.

Use the ts-jest configuration options in the jest config file instead.