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
Requires ESLint >=10, flat config, and ESM.
Usage
Use a preset config or configure each rule in eslint.config.js.
import eslintPluginAva from 'eslint-plugin-ava';
export default [
{
plugins: {
ava: eslintPluginAva,
},
rules: {
'ava/assertion-arguments': 'error',
'ava/no-only-test': '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.
Deprecated.
| Name | Description | ||||||
|---|---|---|---|---|---|---|---|
| assertion-arguments | Enforce passing correct arguments to assertions. | ||||||
| failing-test-url | Require a URL in a comment above test.failing(). |
||||||
| hooks-order | Enforce test hook ordering. | ||||||
| max-asserts | Limit the number of assertions in a test. | ||||||
| no-async-fn-without-await | Require async tests to use await. |
||||||
| no-ava-in-dependencies | Disallow AVA in dependencies. |
||||||
| no-commented-tests | Disallow commented-out tests. | ||||||
| no-conditional-assertion | Disallow assertions inside conditional statements. | ||||||
| no-duplicate-hooks | Disallow duplicate hook declarations. | ||||||
| no-duplicate-modifiers | Disallow duplicate test modifiers. | ||||||
| no-identical-title | Disallow identical test titles. | ||||||
| no-ignored-test-files | Disallow tests in ignored files. | ||||||
| no-import-test-files | Disallow importing test files. | ||||||
| no-incorrect-deep-equal | Disallow using deepEqual with primitives. |
||||||
| no-inline-assertions | Disallow inline assertions. | ||||||
| no-invalid-modifier-chain | Disallow invalid modifier chains. | ||||||
| no-negated-assertion | Disallow negated assertions. | ||||||
| no-nested-assertions | Disallow nested assertions. | ||||||
| no-nested-tests | Disallow nested tests. | ||||||
| no-only-test | Disallow test.only(). |
||||||
| no-skip-assert | Disallow skipping assertions. | ||||||
| no-skip-test | Disallow skipping tests. | ||||||
| no-todo-implementation | Disallow giving test.todo() an implementation function. |
||||||
| no-todo-test | Disallow test.todo(). |
||||||
| no-unknown-modifiers | Disallow unknown test modifiers. | ||||||
| no-useless-t-pass | Disallow useless t.pass(). |
||||||
| prefer-async-await | Prefer async/await over returning a Promise. | ||||||
| prefer-power-assert | Enforce using only assertions compatible with power-assert. | ||||||
| prefer-t-regex | Prefer t.regex() over RegExp#test() and String#match(). |
||||||
| prefer-t-throws | Prefer t.throws() or t.throwsAsync() over try/catch. |
||||||
| require-assertion | Require that tests contain at least one assertion. | ||||||
| test-title | Require tests to have a title. | ||||||
| test-title-format | Require test titles to match a pattern. | ||||||
| use-t | Require test functions to use t as their parameter. |
||||||
| use-t-throws-async-well | Require t.throwsAsync() and t.notThrowsAsync() to be awaited. |
||||||
| use-t-well | Disallow incorrect use of t. |
||||||
| use-test | Require AVA to be imported as test. |
||||||
| use-true-false | Prefer t.true()/t.false() over t.truthy()/t.falsy(). |
Recommended config
This plugin exports a recommended config that enforces good practices.
import eslintPluginAva from 'eslint-plugin-ava';
export default [
...eslintPluginAva.configs.recommended,
];