wellwelwel/poku

TypeScriptpoku.io

🐷 Poku makes testing easy for Node.js, Bun, Deno, and you at the same time.

testingbundenoassertassertionbddtdde2ekill-portdependency-freecross-platformtest-runner
Star Growth
Stars
1.2k
Forks
29
Weekly Growth
+0
Issues
2
5001k
Feb 2024Dec 2024Oct 2025Sep 2026
Artifactsnpm
README
Poku's Logo

Poku

Enjoying Poku? Give him a star to show your support 🌟

Version Downloads CI Coverage


🐷 WebsiteΒ Β β€’Β Β πŸ“˜ DocumentationΒ Β β€’Β Β πŸ§ͺ ExamplesΒ Β β€’Β Β πŸ§‘πŸ»β€πŸŽ“ Tutorials


Why does Poku exist?

πŸ’‘ Poku is a cross-platform test runner that brings the JavaScript essence back to testing.

v High isolation level per file
v Performant and lightweight
v Support for ESM, CJS, and TypeScript
v Plugin ecosystem for custom and official plugins
v Run the same test suite for Node.js, Bun, and Deno
v Easily handle servers, processes, ports, and containers ✨


Quickstart

v Install

🐒 Node.js

npm i -D poku

πŸ“˜ TypeScript (Node.js)

npm i -D poku tsx

🍞 Bun

bun add -d poku

πŸ¦• Deno (optional)

deno add npm:poku

v Test

import { assert } from 'poku';

assert(true, 'Poku will describe it 🐷');

v Run

Node.js (and TypeScript)

npx poku

Bun

bun --bun poku

Deno

deno run npm:poku

Features

v Essentials

poku πŸ§ͺ Test runner
assert β€’ strict πŸ”¬ Test assertion (Node.js familiar API)

v Common Helpers and Options

test β€’ describe β€’ it πŸ€ΉπŸ»β€β™€οΈ Organize, group, and isolate tests
envFile βš™οΈ Process an environment file
beforeEach β€’ afterEach πŸƒ Hooks for test setup and teardown
startScript β€’ startService 🌐 Run scripts and files in background
docker 🐳 Build, start, compose, stop, and remove containers
kill πŸ”Œ Terminate ports, port ranges, and PIDs
waitForPort 😴 Wait for specified ports to become active
waitForExpectedResult πŸ₯± Retry until an expected result or times out
skip ⏭️ Skip tests when necessary
only 🌌 Debug tests by enabling selective runs
coverage β˜”οΈ Enable coverage collection
config βš™οΈ Customize your Poku
watch 🍿 Watch for changes and re-run related test files
debug πŸ•΅πŸ» Shows all logs
  • and much more πŸ”₯

FAQ


Quick Comparisons

Performance

  • ~5.3x faster than Jest (v30.4.2)
  • ~4.5x faster than Vitest (v4.1.6)
  • You can see how the tests are run and compared in the benchmark directory.

Installation Size

Install Size

Poku size ensures cost-saving CI for services that charge for storage and usage.


Security Policy

Please check the SECURITY.md.


Contributing

See the Contributing Guide and please follow our Code of Conduct πŸš€


Acknowledgements

Contributors

My thanks to everyone who has dedicated their time and effort to improving Poku.

Contributors

Sponsors

Really thanks to everyone who has supported and keeps supporting my work.

Sponsors


License

Poku is under the MIT License.
Copyright Β© 2024-present Weslley AraΓΊjo and contributors.

Related repositories
goldbergyoni/nodebestpractices

βœ… The Node.js best practices list (July 2026)

DockerfiletutorialCreative Commons Attribution Share Alike 4.0 Internationalnodejsjavascript
twitter.com/nodepractices/
105.6k10.7k
microsoft/playwright

Playwright is a framework for Web Testing and Automation. It allows testing Chromium, Firefox and WebKit with a single API.

TypeScriptnpmappApache License 2.0playwrighttesting
playwright.dev
95.8k6.4k
puppeteer/puppeteer

JavaScript API for Chrome and Firefox

TypeScriptnpmApache License 2.0headless-chrometesting
pptr.dev
95.6k9.6k
storybookjs/storybook

Storybook is the industry standard workshop for building, documenting, and testing UI components in isolation

TypeScriptnpmtutorialMIT Licensestorybookstyleguide
storybook.js.org
91k10.4k
hoppscotch/hoppscotch

Open-Source API Development Ecosystem β€’ https://hoppscotch.io β€’ Offline, On-Prem & Cloud β€’ Web, Desktop & CLI β€’ Open-Source Alternative to Postman, Insomnia

TypeScriptnpmlibraryMIT Licenseapiapi-client
hoppscotch.io
80.2k6.1k
localstack/localstack

πŸ’» A fully functional local AWS cloud stack. Develop and test your cloud & Serverless apps offline

PythonPyPIOtherawslocalstack
localstack.cloud
65.1k4.8k
usebruno/bruno

Opensource IDE For Exploring and Testing API's (lightweight alternative to Postman/Insomnia)

JavaScriptnpmMIT Licenseapi-clientgit
usebruno.com
46.8k2.9k
jestjs/jest

Delightful JavaScript Testing.

TypeScriptnpmMIT Licensejavascripttesting
jestjs.io
45.5k6.7k
stretchr/testify

A toolkit with common assertions and mocks that plays nicely with the standard library

GoGo ModulesMIT Licensetestifygo
pkg.go.dev/github.com/stretchr/testify
26.2k1.9k
promptfoo/promptfoo

Test your prompts, agents, and RAGs. Red teaming/pentesting/vulnerability scanning for AI. Compare performance of GPT, Claude, Gemini, DeepSeek, and more. Simple declarative configs with command line and CI/CD integration. Used by OpenAI and Anthropic.

TypeScriptnpmMIT Licensellmprompt-engineering
promptfoo.dev
24.9k2.3k
goldbergyoni/javascript-testing-best-practices

πŸ“—πŸŒ 🚒 Comprehensive and exhaustive JavaScript & Node.js testing best practices (August 2025)

JavaScriptnpmMIT Licensenodejstesting
testjavascript.com
24.6k2.1k
quii/learn-go-with-tests

Learn Go with test-driven development

GoGo ModulesMIT Licensetddgolang
23.9k2.9k