We use Jest for unit testing in Volto. The popular
@testing-library/react is also
available for writing your tests. For every feature or component, a unit test is
mandatory in Volto core.
Jest is configured in
package.json, under the "jest" key.
Jest configuration override#
In CI or for testing addons, it's interesting to provide an alternate Jest configuration
or slightly modify it. Volto provide a way to do it using a
jest.config.js file or
pointing the test runner to a file of your choice, using
RAZZLE_JEST_CONFIG=my-custom-jest-config.js yarn test
Both configurations are merged in a way that the keys of the config provided override the initial (
package.json) default config, either in Volto or in your projects.
This is specially useful in CI while developing add-ons, so you can pass an specific configuration that deals with the addon config properly.
Add add-ons via environment variable for testing purposes#
Sometimes you need to enable different configurations and enable optional components (for example, testing purposes).
You can use the
ADDONS environment variable to define them.
ADDONS=test-addon,test-addon2 yarn start
See Environment variables for more information.