GitHub - avajs/eslint-plugin-ava: ESLint rules for AVA (original) (raw)
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.