Ability to run tests in watch mode
tommy-mitchell opened this issue · comments
Tommy commented
The current test suite takes a while to startup and run - in order, it:
- Deletes the
dist
directory - Builds the source and test files and outputs to the
dist
directory - Copies the test fixtures to the
dist
directory - Runs
ESLint
- Runs
Ava
With steps 1-4, it can take 5-10 seconds before any test even runs! When working on a feature, it would be great to be able to run a set of tests in watch mode, so you could have quick feedback on the changes you're making. Currently, that's hard to do, as parts of steps 2 and 3 can't be run in watch mode.
Some potential solutions:
- Update
cpy-cli
to add a watch mode- see sindresorhus/cpy-cli#16, which says the feature must first be added in sindresorhus/cpy
cpy
has a blocker on sindresorhus/cpy#99
- Use a bundler for building/testing
- Something like Rollup would make building/copying/watching (and in the right order) fairly straightforward
- Restructure the
fixtures
directory to allow symlinking to thedist
directory - Use something like
ts-node
to test TypeScript files directly, without a build step
I'd be open to making a PR for any of these, but I'm not familiar with the issue in cpy
to add test cases for it. Personally, I'm fairly familiar with Rollup.
Tommy commented