Awesome
eslint-plugin-ava
ESLint rules for AVA
Translations: Français
This plugin is bundled in XO. No need to do anything if you're using it.
Propose or contribute a new rule β‘
Install
npm install --save-dev eslint eslint-plugin-ava
Usage
Configure it in package.json
.
{
"name": "my-awesome-project",
"eslintConfig": {
"env": {
"es6": true
},
"parserOptions": {
"ecmaVersion": "latest",
"sourceType": "module"
},
"plugins": [
"ava"
],
"rules": {
"ava/assertion-arguments": "error",
"ava/...": "error"
}
}
}
Rules
The rules will only activate in test files.
<!-- begin auto-generated rules list -->πΌ Configurations enabled in.
β οΈ Configurations set to warn in.
π« Configurations disabled in.
β
Set in the recommended
configuration.
π§ Automatically fixable by the --fix
CLI option.
π‘ Manually fixable by editor suggestions.
NameΒ Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β | Description | πΌ | β οΈ | π« | π§ | π‘ |
---|---|---|---|---|---|---|
assertion-arguments | Enforce passing correct arguments to assertions. | β | π§ | |||
hooks-order | Enforce test hook ordering. | β | π§ | |||
max-asserts | Enforce a limit on the number of assertions in a test. | β | ||||
no-async-fn-without-await | Ensure that async tests use await . | β | ||||
no-duplicate-modifiers | Ensure tests do not have duplicate modifiers. | β | ||||
no-identical-title | Ensure no tests have the same title. | β | ||||
no-ignored-test-files | Ensure no tests are written in ignored files. | β | ||||
no-import-test-files | Ensure no test files are imported anywhere. | β | ||||
no-incorrect-deep-equal | Disallow using deepEqual with primitives. | β | π§ | |||
no-inline-assertions | Ensure assertions are not called from inline arrow functions. | β | π§ | |||
no-nested-tests | Ensure no tests are nested. | β | ||||
no-only-test | Ensure no test.only() are present. | β | π§ | π‘ | ||
no-skip-assert | Ensure no assertions are skipped. | β | ||||
no-skip-test | Ensure no tests are skipped. | β | π§ | π‘ | ||
no-todo-implementation | Ensure test.todo() is not given an implementation function. | β | ||||
no-todo-test | Ensure no test.todo() is used. | β | ||||
no-unknown-modifiers | Disallow the use of unknown test modifiers. | β | ||||
prefer-async-await | Prefer using async/await instead of returning a Promise. | β | ||||
prefer-power-assert | Enforce the use of the asserts that have no power-assert alternative. | β | ||||
prefer-t-regex | Prefer using t.regex() to test regular expressions. | β | π§ | |||
test-title | Ensure tests have a title. | β | ||||
test-title-format | Ensure test titles have a certain format. | β | ||||
use-t | Ensure test functions use t as their parameter. | β | ||||
use-t-throws-async-well | Ensure that t.throwsAsync() and t.notThrowsAsync() are awaited. | β | π§ | |||
use-t-well | Disallow the incorrect use of t . | β | π§ | |||
use-test | Ensure that AVA is imported with test as the variable name. | β | ||||
use-true-false | Ensure that t.true() /t.false() are used instead of t.truthy() /t.falsy() . | β |
Recommended config
This plugin exports a recommended
config that enforces good practices.
Enable it in your package.json
with the extends
option:
{
"name": "my-awesome-project",
"eslintConfig": {
"extends": "plugin:ava/recommended"
}
}
See the ESLint docs for more information about extending config files.
Note: This config will also enable the correct parser options and environment.