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 ➡
npm install --save-dev eslint eslint-plugin-ava
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"
}
}
}
The rules will only activate in test files.
💼 Configurations enabled 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() . |
✅ |
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.