Testing
Review the tools available for testing and debugging Workers.
- Local development: Develop your Workers locally via Wrangler.
- Unit testing: Test independent units of your Worker by importing them into your tests.
- Integration testing: Test multiple units of your Worker working together.
- Debugging tools: Debug your local and deployed Workers using a variety of tools.
- Vitest integration: Information about the Workers Vitest integration - the recommended package for writing unit and integration tests for Workers.
Testing comparison matrix
| Feature | Vitest Pool | unstable_dev() | Miniflare’s API |
|---|---|---|---|
| Unit testing | ✅ | ❌ | ❌ |
| Integration testing | ✅ | ✅ | ✅ |
| Loading Wrangler configuration files | ✅ | ✅ | ❌ |
| Bindings directly in tests | ✅ | ❌ | ✅ |
| Isolated per-test storage | ✅ | ❌ | ❌ |
| Outbound request mocking | ✅ | ❌ | ✅ |
| Multiple Worker support | ✅ | 🚧1 | ✅ |
| Direct access to Durable Object instances | ✅ | ❌ | ❌ |
| Run Durable Object alarms immediately | ✅ | ❌ | ❌ |
| List Durable Objects | ✅ | ❌ | ❌ |
| Testing service Workers | ❌ | ✅ | ✅ |
Support for multiple Workers in
unstable_dev()relies onwrangler dev’s service registry which can be unreliable when running multiple tests in parallel. ↩︎