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
ย ย ย ย ย Don't export your server (just run it) ๐
ย ย ย ย ย Run the same test suite for Node.js, Bun and Deno.
Safety and Reliability
ย ย ย ย ย High isolation level per file
ย ย ย ย ย Compatible with Coverage tools
ย ย ย ย ย Run CJS (CommonJS) files directly with Deno
ย ย ย ย ย Easily handle services, servers, processes and ports
ย ย ย ย ย 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
- Test
- Background Services
- Processes
- kill (terminate Ports, Port Ranges and PIDs)
- getPIDs (get all processes IDs using ports and port ranges)
Helpers
Documentation and Examples
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.
Contributing
Please check the CONTRIBUTING.md for instructions ๐
Philosophy
Please check the Philosophy section from Documentation.
License
Poku is under the MIT License.
Security Policy
Please check the SECURITY.md and the section Is Poku Safe? from Documentation.
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.
Overview
Sequential | Concurrent |
---|
| |
Acknowledgements
Author
@wellwelwel
|