eslint-plugin-ava
v15.0.1
Published
ESLint rules for AVA
Downloads
651,910
Readme
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.
💼 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.