π· DocumentationΒ Β β’Β Β π§ͺ ExamplesΒ Β β’Β Β π¬ Compare the Most Popular Test Runners
No configurations
Β Β Β Β Β Auto detect ESM and CJS
Β Β Β Β Β Auto detect Typescript files
Β Β Β Β Β Don't export your server (just run it) π
Less verbose
High isolation level per file
Β Β Β Β Β No eval needed π
Β Β Β Β Β No global state
Parallel and Sequential runs ππ½ππ»
Poku is 100% documented
Designed to be human-friendly
Compatible with Coverage tools
Node.js, Bun and Deno compatibility π©΅
β¨ You are free to work with the packages you desire
π§π»βπ You don't need to learn it all at once to get started
π§π»βπ¬ Poku adapts to your test, not the other way around
β Zero external dependencies (that means lightweight)
π΄πΌ Poku doesn't restrict you from testing in legacy environments
npm i -D poku |
npm i -D poku tsx |
bun add -d poku |
import { poku } from 'npm:poku'; |
test/file.test.js
|
import { assert } from 'poku';
assert(true, 'Poku will describe it π·'); |
Note that these examples use ESM, but you can use CJS as well.
npx poku |
bun poku |
deno run npm:poku |
- poku (test runner)
- assert (test assertion)
- startScript (run
package.json
scripts in a background process) - startService (run files in a background process)
- beforeEach and afterEach
- test
- describe
- and much more β¨
See the complete documentation.
Sequential | Concurrent |
---|---|
![]() |
![]() |
- π Use it exactly as it's for Node.js
- π· Node.js, Bun and Deno compatibility
Using poku |
Using node |
---|---|
![]() |
![]() |
To see the detailed documentation, please visit the Documentation and Examples sections in the Poku's website.
I'm continuously working to improve Poku. If you've got something interesting to share, feel free to submit a Pull Request. If you notice something wrong, I'd appreciate if you'd open an Issue.
Please check the CONTRIBUTING.md for instructions π
Please check the Philosophy section from Documentation.
Poku is under the MIT License.
Please check the SECURITY.md and the section Is Poku Safe? from Documentation.
- Poku is still a bit lonely, without an active community around him, but we can change it π€
- Each file generates a sub-process during its execution. This can be reflected in projects with an extremely high volume of test files when run in parallel.
@wellwelwel |