|
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- # Disallow using `toBeTruthy()` & `toBeFalsy()` (`no-truthy-falsy`)
-
- ## Deprecated
-
- This rule has been deprecated in favor of
- [`no-restricted-matchers`](no-restricted-matchers.md) with the following config:
-
- ```json
- {
- "rules": {
- "jest/no-restricted-matchers": [
- "error",
- {
- "toBeTruthy": "Avoid `toBeTruthy`",
- "toBeFalsy": "Avoid `toBeFalsy`"
- }
- ]
- }
- }
- ```
-
- ---
-
- Tests against boolean values should assert true or false. Asserting `toBeTruthy`
- or `toBeFalsy` matches non-boolean values as well and encourages weaker tests.
-
- For example, `expect(someBoolean).toBeFalsy()` passes when
- `someBoolean === null`, and when `someBoolean === false`.
-
- Similarly, `expect(someBoolean).toBeTruthy()` passes when `someBoolean === []`,
- and when `someBoolean === 'false'` (note that `'false'` is a string).
-
- ## Rule details
-
- This rule triggers a warning if `toBeTruthy()` or `toBeFalsy()` are used.
-
- This rule is disabled by default.
-
- ### Default configuration
-
- The following patterns are considered warnings:
-
- ```js
- expect(someValue).toBeTruthy();
- expect(someValue).toBeFalsy();
- ```
-
- The following patterns are not considered warnings:
-
- ```js
- expect(someValue).toBe(true);
- expect(someValue).toBe(false);
- ```
|