Build
Connect & operate
Design & teams
Start hereScope a build in one callBring a spec, a wireframe, or a paragraph. You leave with an architecture, a timeline, and a number.Book a scoping call
AI software
LLM & data systems
Vibe coding
Ready to ship?Put AI where the work isAgents, RAG, and private LLMs wired into the systems your team already uses — not a chatbot bolted to a homepage.Discuss an AI project
Domain firstWe learn your workflow before we model itRegulated, operational, or high-volume — the constraints belong in the schema, not in a training doc.Talk about your domain
Plan smarterEstimate before you commitCost ranges, scope templates, and the questions we ask in discovery — free, no form.Open the cost calculator
Real conversationsTalk with a technical leadNo SDR, no discovery gauntlet. The person on the call is the one who scopes the build.Book a call
Open-Source Testing · avajs

ava

AVA is a Node.js test runner emphasizing concurrent test execution, minimal API, and detailed error output. It isolates test files in separate processes and supports async/await, promises, and observables out of the box.

Source: GitHub — github.com/avajs/ava
20.8k
GitHub stars
1.5k
Forks
JavaScript
Primary language
MIT
License (OSI-approved)

Key facts

Objective fields from the source. Values we can't verify are shown as “Unknown” rather than guessed.

FieldValue
Repositoryavajs/ava
Owneravajs
Primary languageJavaScript
LicenseMIT — OSI-approved
Stars20.8k
Forks1.5k
Open issues65
Latest releasev8.0.1 (2026-05-17)
Last updated2026-06-17
Sourcehttps://github.com/avajs/ava

What ava is

AVA runs tests concurrently with process isolation per file, includes TypeScript definitions, provides magic assert with diffing, and auto-detects CI parallelism via ci-parallel-vars. It enforces atomic tests with no implicit globals and requires ES modules.

Quickstart

Get the ava source

Clone the repository and explore it locally.

terminalbash
git clone https://github.com/avajs/ava.gitcd ava# follow the project's README for install & configuration

Need it deployed, integrated, or customized instead? DEV.co ships production installs.

Best use cases

Fast CI/CD pipelines for Node.js projects

AVA's parallel test execution and built-in CI detection (ci-parallel-vars) reduce overall test duration, making it ideal for teams running frequent builds.

Modern JavaScript codebases with async-heavy logic

First-class async/await, promise, and observable support make AVA well-suited for testing contemporary Node.js APIs and microservices.

Projects requiring detailed, readable test failure reports

Magic assert with syntax-highlighted diffs and cleaned stack traces help developers quickly identify root causes without verbose boilerplate.

Implementation considerations

  • Must install locally (not globally); configure npm test script and use ES modules.
  • Test files are isolated in separate processes; shared state requires explicit setup (see @ava/cooperate for inter-test coordination).
  • TypeScript support is available via @ava/typescript plugin; ensure this dependency is added for TS projects.
  • Watch mode and debugging recipes (Chrome DevTools, VSCode, WebStorm) are documented; teams should familiarize themselves with debugging workflows.
  • Concurrent execution enforces atomic test design; refactor existing tests that depend on execution order.

When to avoid it — and what to weigh

  • You need browser-based unit testing out of the box — AVA is Node.js-only. Browser testing requires integration with separate tools (Puppeteer, Selenium, etc.) as documented in recipes.
  • Your test suite relies on shared global state or CommonJS — AVA enforces atomic tests and ES modules; legacy CJS codebases or tests with implicit global coupling will require refactoring.
  • You require a specific test reporter format not supported — AVA includes TAP and verbose reporters; custom reporter requirements may necessitate external plugins or wrapper scripts.
  • Your team is unfamiliar with async/await or promises — AVA's documentation assumes ES module and async patterns; onboarding teams new to these patterns requires training investment.

License & commercial use

MIT License. Permissive open-source license allowing commercial use, modification, and distribution with attribution.

MIT is a permissive OSI-approved license. Commercial use, modification, and distribution are permitted. Include license and copyright notice in distributions. No warranty or liability indemnity provided by licensor.

DEV.co evaluation signals

Editorial assessment — not user reviews. Directional, with an explicit confidence level.

SignalAssessment
MaintenanceActive
DocumentationStrong
License clarityClear
Deployment complexityLow
DEV.co fitStrong
Assessment confidenceHigh
Security considerations

Process isolation per test file provides runtime separation, reducing state bleed. No explicit security audit data provided. Standard Node.js dependency supply-chain practices apply. Review dependencies (npm audit) before use in security-sensitive contexts.

Alternatives to consider

Jest

More batteries-included (snapshot testing, coverage, mocking built-in); larger ecosystem. Better for monorepos; less emphasis on isolation.

Mocha

Lightweight and flexible; requires manual assertion and plugin setup. Suits teams preferring explicit control over test framework composition.

Vitest

Modern Vite-native runner with faster startup and Vue/React integration. Better for frontend-heavy projects; less suitable for pure Node.js services.

Software development agency

Build on ava with DEV.co software developers

AVA's concurrent execution and isolated test files reduce CI time and catch state-related bugs. Review the docs, test with a sample project, and consider migration effort for existing suites. Contact our team to discuss integration strategies.

Talk to DEV.co

Related open-source tools

Surfaced by semantic similarity across the DEV.co open-source index.

Related on DEV.co

Explore the category and the services that help you build with it.

ava FAQ

Does AVA support CommonJS?
No. AVA requires ES modules; CommonJS projects must be refactored or use a different test runner.
How does test isolation work?
Each test file runs in its own process, preventing shared state leakage. Use @ava/cooperate for explicit inter-file communication if needed.
Can I run AVA globally?
No. AVA must be installed as a local dev dependency (npm install --save-dev ava); it cannot be run globally.
What Node.js versions are supported?
AVA supports the latest release of any major version currently supported by Node.js itself; check Node.js release schedule.

Build it with a software development company

DEV.co is a software development company with a dedicated AI development practice. Whether ava is a component or the centerpiece, we design the surrounding open-source testing architecture and ship it.

Evaluate AVA for Your Node.js Testing Needs

AVA's concurrent execution and isolated test files reduce CI time and catch state-related bugs. Review the docs, test with a sample project, and consider migration effort for existing suites. Contact our team to discuss integration strategies.