返回排行榜

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 增长趋势
Star
1.2k
Forks
28
周增长
Issues
2
5001k
2024年2月2024年11月2025年9月2026年7月
制品库npmnpm install poku
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

testdescribeit 🤹🏻‍♀️ Organize, group, and isolate tests
envFile ⚙️ Process an environment file
beforeEach • afterEach 🃏 Hooks for test setup and teardown
startScriptstartService 🌐 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.

相关仓库
goldbergyoni/nodebestpractices

✅ The Node.js best practices list (July 2026)

DockerfileCreative Commons Attribution Share Alike 4.0 Internationalnodejsjavascript
twitter.com/nodepractices/
105.4k10.7k
puppeteer/puppeteer

JavaScript API for Chrome and Firefox

TypeScriptnpmApache License 2.0headless-chrometesting
pptr.dev
95.3k9.5k
microsoft/playwright

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

TypeScriptnpmApache License 2.0playwrighttesting
playwright.dev
93.2k6.1k
storybookjs/storybook

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

TypeScriptnpmMIT Licensestorybookstyleguide
storybook.js.org
90.6k10.2k
hoppscotch/hoppscotch

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

TypeScriptnpmMIT Licenseapiapi-client
hoppscotch.io
79.8k6k
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
45.8k2.7k
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.1k1.8k
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.8k2.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
23.5k2.1k