| Server IP : 185.208.173.17 / Your IP : 87.236.161.98 Web Server : Microsoft-IIS/10.0 System : Windows NT SRV8576125506 10.0 build 26100 (Windows Server 2016) AMD64 User : IUSR ( 0) PHP Version : 7.4.13 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : C:/inetpub/wwwroot/parsmega.nuxt/node_modules/eslint-plugin-jest/docs/rules/ |
Upload File : |
# Prevent catch assertions in tests (`no-try-expect`)
## Deprecated
This rule has been deprecated in favor of
[`no-conditional-expect`](no-conditional-expect.md).
---
This rule prevents the use of `expect` inside `catch` blocks.
## Rule Details
Expectations inside a `catch` block can be silently skipped. While Jest provides
an `expect.assertions(number)` helper, it might be cumbersome to add this to
every single test. Using `toThrow` concisely guarantees that an exception was
thrown, and that its contents match expectations.
The following patterns are warnings:
```js
it('foo', () => {
try {
foo(); // `foo` may be refactored to not throw exceptions, yet still appears to be tested here.
} catch (err) {
expect(err).toMatch(/foo error/);
}
});
it('bar', async () => {
try {
await foo();
} catch (err) {
expect(err).toMatch(/foo error/);
}
});
it('baz', async () => {
try {
await foo();
} catch (err) {
expect(err).toMatchObject({ code: 'MODULE_NOT_FOUND' });
}
});
```
The following patterns are not warnings:
```js
it('foo', () => {
expect(() => foo()).toThrow(/foo error/);
});
it('bar', async () => {
await expect(fooPromise).rejects.toThrow(/foo error/);
});
it('baz', async () => {
await expect(() => foo()).rejects.toThrow(
expect.objectContaining({ code: 'MODULE_NOT_FOUND' }),
);
});
```