2020-05-15 05:33:08 +08:00
|
|
|
# Suggest using `toHaveLength()` (`prefer-to-have-length`)
|
2020-03-07 11:45:40 +08:00
|
|
|
|
|
|
|
In order to have a better failure message, `toHaveLength()` should be used upon
|
2020-09-13 06:19:45 +08:00
|
|
|
asserting expectations on objects length property.
|
2020-03-07 11:45:40 +08:00
|
|
|
|
|
|
|
## Rule details
|
|
|
|
|
|
|
|
This rule triggers a warning if `toBe()`, `toEqual()` or `toStrictEqual()` is
|
2020-09-13 06:19:45 +08:00
|
|
|
used to assert objects length property.
|
2020-03-07 11:45:40 +08:00
|
|
|
|
|
|
|
```js
|
|
|
|
expect(files.length).toBe(1);
|
|
|
|
```
|
|
|
|
|
|
|
|
This rule is enabled by default.
|
|
|
|
|
|
|
|
### Default configuration
|
|
|
|
|
|
|
|
The following patterns are considered warnings:
|
|
|
|
|
|
|
|
```js
|
|
|
|
expect(files.length).toBe(1);
|
|
|
|
|
|
|
|
expect(files.length).toEqual(1);
|
|
|
|
|
|
|
|
expect(files.length).toStrictEqual(1);
|
|
|
|
```
|
|
|
|
|
|
|
|
The following pattern is not warning:
|
|
|
|
|
|
|
|
```js
|
|
|
|
expect(files).toHaveLength(1);
|
|
|
|
```
|