ESLint rules for AVA
npm install 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 β‘
``sh`
npm install --save-dev eslint eslint-plugin-ava
Configure it in package.json.
`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 set to warn in.\
π« Configurations disabled in.\
β
Set in the recommended configuration.\--fix
π§ Automatically fixable by the 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. | β
| | | | |deepEqual
| 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 with primitives. | β
| | | π§ | |test.only()
| 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 are present. | β
| | | π§ | π‘ |test.todo()
| no-skip-assert | Ensure no assertions are skipped. | β
| | | | |
| no-skip-test | Ensure no tests are skipped. | β
| | | π§ | π‘ |
| no-todo-implementation | Ensure is not given an implementation function. | β
| | | | |test.todo()
| no-todo-test | Ensure no is used. | | β
| | | |t.regex()
| 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 to test regular expressions. | β
| | | π§ | |t
| test-title | Ensure tests have a title. | β
| | | | |
| test-title-format | Ensure test titles have a certain format. | | | β
| | |
| use-t | Ensure test functions use as their parameter. | β
| | | | |t.throwsAsync()
| use-t-throws-async-well | Ensure that and t.notThrowsAsync() are awaited. | β
| | | π§ | |t
| use-t-well | Disallow the incorrect use of . | β
| | | π§ | |test
| use-test | Ensure that AVA is imported with as the variable name. | β
| | | | |t.true()
| use-true-false | Ensure that /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:
`json``
{
"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.