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-avaConfigure 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.