Installation
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.
Usage
First of all, you can use ava-spec
as a drop-in for ava:
; ;
Jasmine-like DSL is supported:
; ;
Or write cucumber-like scenarios:
; ;
Or just group tests together:
testserialskip;
Last but not least you can pass groups around in fun ways:
const subject = test; ;
Result:
- 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
API
AVA spec allows you to define test groups using 3 equivalent methods:
test.describe([title], implementation)
test.feature([title], implementation)
test.group([title], implementation)
title
Type: string
A group title.
implementation(ava)
Type: function
It is called by AVA Spec with modified AVA instance as so:
- Group modifiers are applied to all tests inside it
- Group title is prefixed to all test titles inside it
Caveats
Currently AVA Spec doesn't support per-group hooks. It's a feature planned for 1.1.0.
Team
Adam Stankiewicz | Become co-author! |