You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

1023 B

Require a message for toThrow() (require-to-throw-message)

toThrow() (and its alias toThrowError()) is used to check if an error is thrown by a function call, such as in expect(() => a()).toThrow(). However, if no message is defined, then the test will pass for any thrown error. Requiring a message ensures that the intended error is thrown.

Rule details

This rule triggers a warning if toThrow() or toThrowError() is used without an error message.

Default configuration

The following patterns are considered warnings:

test('all the things', async () => {
  expect(() => a()).toThrow();

  expect(() => a()).toThrowError();

  await expect(a()).rejects.toThrow();

  await expect(a()).rejects.toThrowError();
});

The following patterns are not considered warnings:

test('all the things', async () => {
  expect(() => a()).toThrow('a');

  expect(() => a()).toThrowError('a');

  await expect(a()).rejects.toThrow('a');

  await expect(a()).rejects.toThrowError('a');
});