switch to mocha for testing #340
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
🤔 What's changed?
Remove Jest, and switch to a combination of Mocha, Chai and Sinon for testing, assertions and mocking respectively. React Testing Library is retained and works as before. Most of the diff is just changing the assertions to the Chai API, and some configuration.
For SCSS files, which used to be pretty much handled by Jest's module type mappings, I found the best compromise was to implement a small CSS loader (
css-loader.mjs
) to resolve to an object with keys for each class name found in the file.Also pins to the latest 18.x Node.js version that supports
register
for module loaders, and ensures we use the current LTS for release jobs.⚡️ What's your motivation?
In #338 we just about got Jest working with ESM, but it's super fragile - bringing in new dependencies for #337 immediately threw up some obscure errors.
Jest is also slow compared to Mocha, at least for our test suite.
🏷️ What kind of change is this?
📋 Checklist:
This text was originally generated from a template, then edited by hand. You can modify the template here.