node package manager


AVA Spec

Build Status


AVA Spec is meant to be installed next to AVA, so please follow its installation instructions first.

Then, install ava-spec as a development dependency:

$ npm install --save-dev ava-spec

You still run tests with ava command. The only thing that changes are tests themselves.


First of all, you can use ava-spec as a drop-in for ava:

import test from 'ava-spec';
test('AVA Spec is 100% compatible with ava', t => {, true);

Jasmine-like DSL is supported:

import {describe} from 'ava-spec';
describe('AVA Spec', it => {
  it('can look almost like jasmine', t => {
    t.deepEqual([1, 2], [1, 2]);
  it.todo('supports all chaining modifiers!');

Or write cucumber-like scenarios:

import {feature} from 'ava-spec';
feature('Cash withdrawal.', scenario => {
  scenario('Not enough money in ATM', t => {
    // Cucumber-like keywords are available

Or just group tests together: => {
  test('AVA Spec can be used to just group some tests', t => {
    t.not(true, false);

Last but not least you can pass groups around in fun ways:

const subject = test.describe('You');
subject('do not need to use callbacks!', t => { + 2, 4);


  - AVA Spec can be used to just group some tests
  ‚úĒ AVA Spec is 100% compatible with ava
  ‚úĒ AVA Spec can look almost like jasmine
  - AVA Spec supports all chaining modifiers!
  ‚úĒ Cash withdrawal. Not enough money in ATM
  ‚úĒ You do not need to use callbacks!

  4 tests passed
  1 test skipped
  1 test todo


AVA spec allows you to define test groups using 3 equivalent methods:

test.describe([title], implementation)

test.feature([title], implementation)[title], implementation)


Type: string

A group title.


Type: function

It is called by AVA Spec with modified AVA instance as so:

  1. Group modifiers are applied to all tests inside it
  2. Group title is prefixed to all test titles inside it


Currently AVA Spec doesn't support per-group hooks. It's a feature planned for 1.1.0.


Adam Stankiewicz Please help me!
Adam Stankiewicz Become co-author!