avajs/ava has 20,828 GitHub stars and 1,467 forks. GitHot measured 0 stars in 24 hours. Last checked 2026-11-08 11:28 UTC. Last push 2026-10-31.
Comment ces chiffres sont mesurés
Exécuteur de tests Node.js pour développer en toute confiance 🚀
Progression mesurée des étoiles
- in 24h
- 0
- in 7 days
- Mise à jour retardée
- in 15 days
- Mise à jour retardée
- in 1 month
- Mise à jour retardée
Variations nettes sur des périodes qui se chevauchent, pas des totaux quotidiens. Les mesures absentes restent vides. Les étoiles indiquent l’intérêt, pas la qualité.
README.md
OriginalPlease support our friend Vadim Demedes and the people in Ukraine.
AVA is a test runner for Node.js with a concise API, detailed error output, embrace of new language features and thread isolation that lets you develop with confidence 🚀
Watch this repository and follow the Discussions for updates.
Read our contributing guide if you're looking to contribute (issues / PRs / etc).

Translations: Español, Français, Italiano, 日本語, 한국어, Português, Русский, 简体中文
Why AVA?
- Minimal and fast
- Simple test syntax
- Runs tests concurrently
- Enforces writing atomic tests
- No implicit globals
- Includes TypeScript definitions
- Magic assert
- Isolated environment for each test file
- Promise support
- Async function support
- Observable support
- Enhanced assertion messages
- Automatic parallel test runs in CI
- TAP reporter
Usage
To install and set up AVA, run:
npm init ava
Your package.json will then look like this (exact version notwithstanding):
{
"name": "awesome-package",
"type": "module",
"scripts": {
"test": "ava"
},
"devDependencies": {
"ava": "^5.0.0"
}
}
Or if you prefer using Yarn:
yarn add ava --dev
Alternatively you can install ava manually:
npm install --save-dev ava
Make sure to install AVA locally. AVA cannot be run globally.
Don't forget to configure the test script in your package.json as per above.
Create your test file
Create a file named test.js in the project root directory.
Note that AVA's documentation assumes you're using ES modules.
import test from 'ava';
test('foo', t => {
t.pass();
});
test('bar', async t => {
const bar = Promise.resolve('bar');
t.is(await bar, 'bar');
});
Running your tests
npm test
Or with npx:
npx ava
Run with the --watch flag to enable AVA's watch mode:
npx ava --watch
Supported Node.js versions
AVA supports the latest release of any major version that is supported by Node.js itself. Read more in our support statement.
Highlights
Magic assert
AVA adds code excerpts and clean diffs for actual and expected values. If values in the assertion are objects or arrays, only a diff is displayed, to remove the noise and focus on the problem. The diff is syntax-highlighted too! If you are comparing strings, both single and multi line, AVA displays a different kind of output, highlighting the added or missing characters.

Clean stack traces
AVA automatically removes unrelated lines in stack traces, allowing you to find the source of an error much faster, as seen above.
Parallel runs in CI
AVA automatically detects whether your CI environment supports parallel builds. Each build will run a subset of all test files, while still making sure all tests get executed. See the ci-parallel-vars package for a list of supported CI environments.
Documentation
Please see the files in the docs directory:
- Writing tests
- Execution context
- Assertions
- Snapshot testing
- Command line (CLI)
- Configuration
- Test timeouts
Common pitfalls
We have a growing list of common pitfalls you may experience while using AVA. If you encounter any issues you think are common, comment in this issue.
Recipes
- Test setup
- TypeScript
- Shared workers
- Watch mode
- When to use
t.plan() - Passing arguments to your test files
- Splitting tests in CI
- Code coverage
- Endpoint testing
- Browser testing
- Testing Vue.js components
- Debugging tests with Chrome DevTools
- Debugging tests with VSCode
- Debugging tests with WebStorm
- Isolated MongoDB integration tests
- Testing web apps using Puppeteer
- Testing web apps using Selenium WebDriverJS
FAQ
How is the name written and pronounced?
AVA, not Ava or ava. Pronounced /ˈeɪvə/: Ay (face, made) V (vie, have) A (comma, ago)
What is the header background?
It's the Andromeda galaxy.
What is the difference between concurrency and parallelism?
Concurrency is not parallelism. It enables parallelism.
Support
Related
- eslint-plugin-ava — Lint rules for AVA tests
- @ava/typescript — Test TypeScript projects
- @ava/cooperate — Low-level primitives to enable cooperation between test files
- @ava/get-port — Reserve a port while testing
Links
Team
![]() |
![]() |
|---|---|
| Mark Wubben | Sindre Sorhus |
Former
Explorer des projets similaires
codecrafters-io/build-your-own-x
Maîtrisez la programmation en recréant de zéro vos technologies préférées.
561,125 étoilespublic-apis/public-apis
Une liste collective d'API gratuites
497,351 étoilesmorluto/rea
Rétro-ingénierie de n'importe quoi avec des agents, du comportement des applications jusqu'aux binaires natifs.
444,272 étoilesopenclaw/openclaw
L'IA qui fait vraiment les choses. Tout système d'exploitation, toute plateforme. À la manière du homard. 🦞
394,210 étoiles

