unitest
unitest copied to clipboard
3.0 roadmap
Replacing Electron with headless Chrome laid down a lot of the groundwork to a fully Chrome DevTools Protocol (CDP) based solution.
Guiding principles
- Implement everything in an environment-agnostic fashion via CDP
- Support only platforms that implement CDP (e.g. Node 8+, Chrome)
- Good experience out of the box with no test runner
- Progressive enhancement via test runners that use CDP
- Runners can imperatively change behavior via CDP
Runtime.evaluate
before tests are run- Skipping tests, different test output format, etc.
- Runners can imperatively change behavior via CDP
- Designed for async functions
- Designed to be integrated into larger frameworks
- Being un-opinionated about build tooling is imperative
- Good programmatic APIs, optional nice machine-readable test output
- Performance
- Multicore and parallel testing
- Support incremental test running
Task breakdown
- [ ] Restructure into monorepo https://github.com/rtsao/unitest/issues/16
- [ ] New, standalone assertion library https://github.com/rtsao/unitest/issues/32
- [ ] Migrate the Node.js runner to use CDP https://github.com/rtsao/unitest/issues/24
- [ ] Multicore parallel testing and glob support https://github.com/rtsao/unitest/issues/36
- [ ] Native V8 code coverage https://github.com/rtsao/unitest/issues/35