The test code is located within the same directory as each component, inside a __tests__ directory.
1 2 3 4$ tree app/javascript/article-form -L 1 app/javascript/article-form ├── __tests__ └── articleForm.jsx
The testing library being used is Jest.
You can run those tests with:
1npm run test
or
1yarn test
Should you want to view only a single jest test, you can run:
1npx jest app/javascript/<path-to-file>
You can run frontend tests in watch mode by running one of the following commands:
1npm run test:watch
or
1yarn test:watch
In watch mode, after the first test run, jest provides several options for filtering tests. These filtering options are enhanced via the jest-watch-typeahead watch plugin. It allows you to filter by test filename or test name.

To troubleshoot any of your jest test files, add a debugger and run:
1node --inspect-brk node_modules/.bin/jest --watch --runInBand <path-to-file>
You can read more about troubleshooting here.
At the end of the test's execution, you will see the code coverage for the Preact components in our codebase.
If tests require utility modules, create them in a utilities folder under the __tests__ folder. Jest is configured to not treat the utilities folder as a test suite.
You can also debug jest in your favorite editor. See the Debugging section of the frontend documentation.