Skip to main content

Why Poku?​

Poku can show you how simple testing can be 🌱

You don't need to learn it all at once to get started πŸ§‘πŸ»β€πŸŽ“

Let's make describe, beforeEach and everything else easier πŸš€

Poku brings human-friendly testing and assertion to Node.js, Bun & Deno at the same time ✨


πŸ”¬ Start by seeing how to use assert
πŸ§‘πŸ»β€πŸ”¬ Need to test an API? Check the startService and startScript
πŸ§ͺ Then learn how to use poku CLI to run all your test files at once
πŸ§™πŸ» So, just if you want to, go deeper into learning about Poku

🩡 Take Your Time


Quickstart​

Install πŸ“¦β€‹

Install Size

npm i -D poku

Test it πŸ”¬β€‹

import { assert } from 'poku';

assert(true, 'Poku will describe it 🐷');
  • Change from .mjs to .js by defining "type": "module" in your package.json.
  • Note that these examples use ESM, but you can use CJS as well.

Run it πŸš€β€‹

npx poku

That's it πŸŽ‰β€‹


Available Methods​

Essentials​

Helpers​

  • test , describe and it (organize, group, and isolate tests)
  • watch (watch for changes and re-run related test files)
  • beforeEach and afterEach (hooks for test setup and teardown)
  • startScript (run package.json scripts in background)
  • startService (run files in background)
  • kill (terminate ports, port ranges, and PIDs)
  • getPIDs (debug processes IDs using ports and port ranges)
  • and much more πŸ‘‡πŸ»

See the complete documentation.


Documentation​

Initially, the documentation and examples are based on Node.js and ESM usage, but you can use all the options normally for both Bun and Deno, including CJS.


Community​

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 πŸš€


License​

Poku is under the MIT License.


Security Policy​

Please check the SECURITY.md.


Acknowledgements​

Contributors

Contributors

Author​

wellwelwel
@wellwelwel