webhook/node_modules/eslint-plugin-jest/docs/rules/prefer-expect-assertions.md
2020-08-26 09:57:08 +10:00

1.2 KiB

Suggest using expect.assertions() OR expect.hasAssertions() (prefer-expect-assertions)

Ensure every test to have either expect.assertions(<number of assertions>) OR expect.hasAssertions() as its first expression.

Rule details

This rule triggers a warning if,

  • expect.assertions(<number of assertions>) OR expect.hasAssertions() is not present as first statement in a test, e.g.:
test('my test', () => {
  expect(someThing()).toEqual('foo');
});
  • expect.assertions(<number of assertions>) is the first statement in a test where argument passed to expect.assertions(<number of assertions>) is not a valid number, e.g.:
test('my test', () => {
  expect.assertions('1');
  expect(someThing()).toEqual('foo');
});

Default configuration

The following patterns are considered warnings:

test('my test', () => {
  expect.assertions('1');
  expect(someThing()).toEqual('foo');
});

test('my test', () => {
  expect(someThing()).toEqual('foo');
});

The following patterns would not be considered warnings:

test('my test', () => {
  expect.assertions(1);
  expect(someThing()).toEqual('foo');
});

test('my test', () => {
  expect.hasAssertions();
  expect(someThing()).toEqual('foo');
});