webhook/node_modules/eslint-plugin-jest/docs/rules/no-restricted-matchers.md
2020-08-26 09:57:08 +10:00

47 lines
1.1 KiB
Markdown

# Disallow specific matchers & modifiers (`no-restricted-matchers`)
This rule bans specific matchers & modifiers from being used, and can suggest
alternatives.
## Rule Details
Bans are expressed in the form of a map, with the value being either a string
message to be shown, or `null` if the default rule message should be used.
Both matchers, modifiers, and chains of the two are checked, allowing for
specific variations of a matcher to be banned if desired.
By default, this map is empty, meaning no matchers or modifiers are banned.
For example:
```json
{
"jest/no-restricted-matchers": [
"error",
{
"toBeFalsy": null,
"resolves": "Use `expect(await promise)` instead.",
"not.toHaveBeenCalledWith": null
}
]
}
```
Examples of **incorrect** code for this rule with the above configuration
```js
it('is false', () => {
expect(a).toBeFalsy();
});
it('resolves', async () => {
await expect(myPromise()).resolves.toBe(true);
});
describe('when an error happens', () => {
it('does not upload the file', async () => {
expect(uploadFileMock).not.toHaveBeenCalledWith('file.name');
});
});
```