jest/valid-expect Correctness
What it does
Checks that expect() is called correctly.
Why is this bad?
expect() is a function that is used to assert values in tests. It should be called with a single argument, which is the value to be tested. If you call expect() with no arguments, or with more than one argument, it will not work as expected.
Examples
Examples of incorrect code for this rule:
expect();
expect("something");
expect(true).toBeDefined;
expect(Promise.resolve("Hi!")).resolves.toBe("Hi!");Examples of correct code for this rule:
expect("something").toEqual("something");
expect(true).toBeDefined();
expect(Promise.resolve("Hi!")).resolves.toBe("Hi!");This rule is compatible with eslint-plugin-vitest, to use it, add the following configuration to your .eslintrc.json:
{
"rules": {
"vitest/valid-expect": "error"
}
}Configuration
This rule accepts a configuration object with the following properties:
alwaysAwait
type: boolean
default: false
When true, async assertions must be awaited in all contexts (not just return statements).
asyncMatchers
type: string[]
default: ["toResolve", "toReject"]
List of matchers that are considered async and therefore require awaiting (e.g. toResolve, toReject).
maxArgs
type: integer
default: 1
Maximum number of arguments expect should be called with.
minArgs
type: integer
default: 1
Minimum number of arguments expect should be called with.
How to use
To enable this rule in the CLI or using the config file, you can use:
oxlint --deny jest/valid-expect --jest-plugin{
"plugins": ["jest"],
"rules": {
"jest/valid-expect": "error"
}
}