Why does Poku exist?
Poku takes on the testers' difficulties by itself and lets you focus on the tests.
No configurations
ย ย ย ย ย Auto detect ESM and CJS
ย ย ย ย ย Auto detect Typescript files
ย ย ย ย ย Run the same test suite for Node.js, Bun and Deno
Easier and Less Verbose
ย ย ย ย ย Node.js familiar API
ย ย ย ย ย Easily test your server just by running it ๐
ย ย ย ย ย Run CJS (CommonJS) files directly with Deno
ย ย ย ย ย Easily handle services, servers, processes and ports
Safety and Reliability
ย ย ย ย ย High isolation level per file
ย ย ย ย ย Performant and lightweight
ย ย ย ย ย Compatible with Coverage tools
ย ย ย ย ย Poku doesn't use eval
nor global state ๐
ย ย ย ย ย ย ย ย ย ย In other words, you can run your tests directly, without relying on Poku
Quickstart
Install
Node.js | TypeScript + Node.js | Bun | Deno |
npm i -D poku
|
npm i -D poku tsx
|
bun add -d poku
|
deno add npm:poku
|
Test
test/file.test.mjs
|
import { assert } from 'poku';
assert(true, 'Poku will describe it ๐ท');
|
Run
Node.js (and TypeScript) | Bun | Deno |
npx poku
|
bunx poku
|
deno run npm:poku
|
That's it ๐
๐ท Documentationย ย โขย ย ๐งช Examplesย ย โขย ย ๐ฌ Compare the Most Popular Test Runners
Available Methods
Essentials
Helpers
Documentation and Examples
To see the detailed documentation, please visit the Documentation and Examples sections in the Poku's website.
Contributing
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 ๐
Philosophy
Please check the Philosophy section from Documentation.
Security Policy
Please check the SECURITY.md and the section Is Poku Safe? from Documentation.
Quick Comparisons
Performance
Poku is continuously tested (CI) to ensure the following expectations:
You can see how the tests are run and compared in the benchmark directory.
Installation Size
Limitations
- Poku community is gradually building up ๐ค
- Although it has no external dependencies, Poku is not all-in-one, so it doesn't have features such as mocks and spies, where you can use your favorite packages or native solutions.
Acknowledgements
License
Poku is under the MIT License.