> For AI agents: the complete documentation index is available at https://rslint.rs/llms.txt, the full documentation bundle is available at https://rslint.rs/llms-full.txt.

# padding-around-after-each-blocks

[Added in v0.9.2](https://github.com/web-infra-dev/rslint/releases/tag/v0.9.2)
## Configuration

| Preset                     | Configured Value |
| -------------------------- | ---------------- |
| ✅ rstestPlugin.configs.all | `"warn"`         |


```ts title=rslint.config.ts
import { defineConfig, rstestPlugin } from '@rslint/core';

export default defineConfig([
  rstestPlugin.configs.recommended,
  {
    rules: {
      'rstest/padding-around-after-each-blocks': 'error',
    },
  },
]);
```

## Rule Details

Require a blank line before and after `afterEach` statements so per-test cleanup is visually separated from tests and other setup code. No trailing blank line is required when the hook is the last statement in its scope.

The rule classifies an expression statement by its first identifier, so calls and modifier chains beginning with `afterEach` are included regardless of where that name was declared. Renamed aliases and namespace calls such as `rstest.afterEach` are not recognized. Type information is not required.

## Incorrect

```ts
const database = createDatabase();
afterEach(() => database.reset());
test('loads a user', loadUser);
```

## Correct

```ts
const database = createDatabase();

afterEach(() => database.reset());

test('loads a user', loadUser);
```

## Autofix

The rule inserts missing blank lines before and after `afterEach` statements.
