Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

eslint-plugin-ava

avajs1.2mMIT15.1.0

ESLint rules for AVA

eslint, eslintplugin, eslint-plugin, ava, test, runner, assert, asserts, assertion, mocha

readme

eslint-plugin-ava Coverage Status

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(). |

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.