Skip to content

Commit d96baca

Browse files
tushardholeSimenB
authored andcommitted
fix(docs): prefer-expect-assertions rule docs (#49)
* docs: updating docs for prefer-expect-assertions rule * style: minnor formating in prefer-expect-assertions doc * docs: tweaks
1 parent 08f93ff commit d96baca

File tree

2 files changed

+68
-10
lines changed

2 files changed

+68
-10
lines changed

README.md

+11-10
Original file line numberDiff line numberDiff line change
@@ -78,16 +78,17 @@ for more information about extending configuration files.
7878

7979
## Rules
8080

81-
| Rule | Description | Recommended | Fixable |
82-
| -------------------------------------------------------------- | ----------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------- |
83-
| [no-disabled-tests](docs/rules/no-disabled-tests.md) | Disallow disabled tests | ![recommended](https://img.shields.io/badge/-recommended-lightgrey.svg) | |
84-
| [no-focused-tests](docs/rules/no-focused-tests.md) | Disallow focused tests | ![recommended](https://img.shields.io/badge/-recommended-lightgrey.svg) | |
85-
| [no-identical-title](docs/rules/no-identical-title.md) | Disallow identical titles | ![recommended](https://img.shields.io/badge/-recommended-lightgrey.svg) | |
86-
| [no-large-snapshots](docs/rules/no-large-snapshots.md) | Disallow large snapshots | | |
87-
| [prefer-to-have-length](docs/rules/prefer-to-have-length.md) | Suggest using toHaveLength() | ![recommended](https://img.shields.io/badge/-recommended-lightgrey.svg) | ![fixable](https://img.shields.io/badge/-fixable-green.svg) |
88-
| [prefer-to-be-null](docs/rules/prefer-to-be-null.md) | Suggest using toBeNull() | | ![fixable](https://img.shields.io/badge/-fixable-green.svg) |
89-
| [prefer-to-be-undefined](docs/rules/prefer-to-be-undefined.md) | Suggest using toBeUndefined() | | ![fixable](https://img.shields.io/badge/-fixable-green.svg) |
90-
| [valid-expect](docs/rules/valid-expect.md) | Enforce valid expect() usage | ![recommended](https://img.shields.io/badge/-recommended-lightgrey.svg) | |
81+
| Rule | Description | Recommended | Fixable |
82+
| ------------------------------------------------------------------ | --------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------- |
83+
| [no-disabled-tests](docs/rules/no-disabled-tests.md) | Disallow disabled tests | ![recommended](https://img.shields.io/badge/-recommended-lightgrey.svg) | |
84+
| [no-focused-tests](docs/rules/no-focused-tests.md) | Disallow focused tests | ![recommended](https://img.shields.io/badge/-recommended-lightgrey.svg) | |
85+
| [no-identical-title](docs/rules/no-identical-title.md) | Disallow identical titles | ![recommended](https://img.shields.io/badge/-recommended-lightgrey.svg) | |
86+
| [no-large-snapshots](docs/rules/no-large-snapshots.md) | Disallow large snapshots | | |
87+
| [prefer-to-have-length](docs/rules/prefer-to-have-length.md) | Suggest using `toHaveLength()` | ![recommended](https://img.shields.io/badge/-recommended-lightgrey.svg) | ![fixable](https://img.shields.io/badge/-fixable-green.svg) |
88+
| [prefer-to-be-null](docs/rules/prefer-to-be-null.md) | Suggest using `toBeNull()` | | ![fixable](https://img.shields.io/badge/-fixable-green.svg) |
89+
| [prefer-to-be-undefined](docs/rules/prefer-to-be-undefined.md) | Suggest using `toBeUndefined()` | | ![fixable](https://img.shields.io/badge/-fixable-green.svg) |
90+
| [prefer-expect-assertions](docs/rules/prefer-expect-assertions.md) | Suggest using `expect.assertions()` OR `expect.hasAssertions()` | | |
91+
| [valid-expect](docs/rules/valid-expect.md) | Enforce valid `expect()` usage | ![recommended](https://img.shields.io/badge/-recommended-lightgrey.svg) | |
9192

9293
## Credit
9394

+57
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
# Suggest using `expect.assertions()` OR `expect.hasAssertions()` (prefer-expect-assertions)
2+
3+
Ensure every test to have either `expect.assertions(<number of assertions>)` OR
4+
`expect.hasAssertions()` as its first expression.
5+
6+
## Rule details
7+
8+
This rule triggers a warning if,
9+
10+
* `expect.assertions(<number of assertions>)` OR `expect.hasAssertions()` is not
11+
present as first statement in a test, e.g.:
12+
13+
```js
14+
test('my test', () => {
15+
expect(someThing()).toEqual('foo');
16+
});
17+
```
18+
19+
* `expect.assertions(<number of assertions>)` is the first statement in a test
20+
where argument passed to `expect.assertions(<number of assertions>)` is not a
21+
valid number, e.g.:
22+
23+
```js
24+
test('my test', () => {
25+
expect.assertions('1');
26+
expect(someThing()).toEqual('foo');
27+
});
28+
```
29+
30+
### Default configuration
31+
32+
The following patterns are considered warnings:
33+
34+
```js
35+
test("my test", () => {
36+
expect.assertions("1");
37+
expect(someThing()).toEqual("foo");
38+
});
39+
40+
test("my test", () => {
41+
expect.(someThing()).toEqual("foo");
42+
});
43+
```
44+
45+
The following patterns would not be considered warnings:
46+
47+
```js
48+
test('my test', () => {
49+
expect.assertions(1);
50+
expect(someThing()).toEqual('foo');
51+
});
52+
53+
test('my test', () => {
54+
expect.hasAssertions();
55+
expect(someThing()).toEqual('foo');
56+
});
57+
```

0 commit comments

Comments
 (0)