Ava

Node.js test runner that lets you develop with confidence 🚀
Alternatives To Ava
Project NameStarsDownloadsRepos Using ThisPackages Using ThisMost Recent CommitTotal ReleasesLatest ReleaseOpen IssuesLicenseLanguage
Sherlock49,194
2 days ago6August 19, 2023203mitPython
🔎 Hunt down social media accounts by username across social networks
Selenium28,86214,1552,70820 hours ago192December 06, 2023187apache-2.0Java
A browser automation framework and ecosystem.
Ava20,58044,27933,6322 days ago112December 06, 202356mitJavaScript
Node.js test runner that lets you develop with confidence 🚀
Hurl10,0713a day ago14September 22, 2023128apache-2.0Rust
Hurl, run and test HTTP requests with plain text.
Istanbul8,577132,06546,857a year ago95August 21, 2016400otherJavaScript
Yet another JS code coverage tool that computes statement, line, function and branch coverage with module loader hooks to transparently add coverage when running tests. Supports all JS coverage use cases including unit tests, server side functional tests and browser tests. Built for scale.
Sysbench5,656
6 days ago1February 27, 2018184gpl-2.0C
Scriptable database and system performance benchmark
Uiautomator25,53713254 months ago565September 13, 2023350mitPython
Android Uiautomator2 Python Wrapper
Pyjwt4,8379,4432,4284 days ago48July 18, 202320mitPython
JSON Web Token implementation in Python
Httplab3,966
20 days ago1May 19, 202313mitGo
The interactive web server
Speed Test3,64121102 years ago14November 21, 20212mitJavaScript
Test your internet connection speed and ping using speedtest.net from the CLI
Alternatives To Ava
Select To Compare


Alternative Project Comparisons
Readme

Please support our friend Vadim Demedes and the people in Ukraine.


AVA logo

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: Espaol, Franais, Italiano, , , Portugus, ,

Why AVA?

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:

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

FAQ

How is the name written and pronounced?

AVA, not Ava or ava. Pronounced /ev/: 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

Links

Team

Mark Wubben Sindre Sorhus
Mark Wubben Sindre Sorhus
Former
Popular Testing Projects
Popular Command Line Projects
Popular Software Quality Categories
Related Searches

Get A Weekly Email With Trending Projects For These Categories
No Spam. Unsubscribe easily at any time.
Javascript
Command Line
Testing
Continuous Integration
Performance
Test Driven Development
Tap
Concurrency
Unit Testing
Command Line App
Test Framework
Parallelism
Test Runner
Ava
Async Functions