# Enforces a maximum number assertion calls in a test body (`max-expects`)

As more assertions are made, there is a possible tendency for the test to be
more likely to mix multiple objectives. To avoid this, this rule reports when
the maximum number of assertions is exceeded.

## Rule details

This rule enforces a maximum number of `expect()` calls.

The following patterns are considered warnings (with the default option of
`{ "max": 5 } `):

```js
test('should not pass', () => {
  expect(true).toBeDefined()
  expect(true).toBeDefined()
  expect(true).toBeDefined()
  expect(true).toBeDefined()
  expect(true).toBeDefined()
  expect(true).toBeDefined()
})
```

The following patterns are **not** considered warnings (with the default option
of `{ "max": 5 } `):

```js
test('shout pass')

test('shout pass', () => {})

test.skip('shout pass', () => {})

test('should pass', function () {
  expect(true).toBeDefined()
})

test('should pass', () => {
  expect(true).toBeDefined()
  expect(true).toBeDefined()
  expect(true).toBeDefined()
  expect(true).toBeDefined()
  expect(true).toBeDefined()
})
```

## Options

```json
{
  "playwright/max-expects": [
    "error",
    {
      "max": 5
    }
  ]
}
```

### `max`

Enforces a maximum number of `expect()`.

This has a default value of `5`.