NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
npm · #3040 most downloaded on npm
ESLint plugin to follow best practices and anticipate common mistakes when writing tests with Testing Library
Last release 5 months ago
24 Mar 2026
Ships fairly regularly
a new release about every 3 weeks
Nearly every release is documented
notes for 60 of the last 60 stable releases
1 version withdrawn
withdrawn after publishing
7 years old
217 releases · first in 2019
no-debug: catch all screen imports (#175) (783ced0), closes #174
One column per quarter.
guard against wait utils without callback
prefer-screen-queries: revert "take container into account" (#157) (1850851), closes #156
add prefer-find-by rule (#144) (7a9af37), closes #127
correct consistent-data-testid docs example
await-async-utils: false positives (#137) (55575c9), closes #118
prefer-screen-queries: false positives when using within method (#119) (28238aa), closes #116
no-manual-cleanup: check require imports properly (#128) (28e23a9), closes #125
migrate plugin to typescript-eslint (#121) (3439a29). This is not actually adding any new feature to the plugin but we wanted to bump a minor version
Nothing published for this version
Nothing published for this version
Nothing published for this version
async checks when calling queries member expressions (#114) (cedb56b), closes #113
## 3.0.3 (2020-04-07) ### Bug Fixes * add missing doc urls
## 3.0.2 (2020-04-01) ### Bug Fixes * no-debug: enable for angular
check namespaced imports for no-debug and prefer-wait-for (#102) (6c8f14a), closes #101
This new rule is fixable so it can help you migrating deprecated wait, waitForElement and waitForDomChange to new waitFor method.
await-async-utils: reflect waitFor changes (#89)no-wait-for-empty-callback (#94)prefer-wait-for (#88)prefer-screen-queries (#99)prefer-presence-queries (#98)This new rule is fixable so it can help you migrating deprecated wait, waitForElement and waitForDomChange to new waitFor method.
From this:
import { render, wait, waitForElement, waitForDomChange } from '@testing-library/dom';
async () => {
render(<SomeComponent />);
await wait();
await wait(() => expect(screen.getByText('submit')).not.toBeInTheDocument());
await waitForElement(() => {});
await waitForDomChange();
await waitForDomChange({ timeout: 100 });
};
to this:
import { render, waitFor } from '@testing-library/dom';
async () => {
render(<SomeComponent />);
// `wait` without callback is replaced with `waitFor` with empty callback
await waitFor(() => {});
// `wait` with some callback is replaced with `waitFor` keeping same callback
await waitFor(() => expect(screen.getByText('submit')).not.toBeInTheDocument());
// same for `waitForElement`
await waitFor(() => {});
// same for `waitForDomChange`
await waitFor(() => {});
// `waitForDomChange` options are passed as 2nd arg to `waitFor`
await waitFor(() => {}, { timeout: 100 });
};
no-get-by-for-checking-element-not-present removed in favor of new rule prefer-presence-queries (#98)no-get-by-for-checking-element-not-present: false positives for negated matchers
## 2.2.2 (2020-02-10) ### Bug Fixes * no-debug: ensure callee exists
## 2.2.1 (2020-02-04) ### Bug Fixes * no-debug: support async render
no-debug: scan for screen.debug()
# 2.1.0 (2020-01-30) ### Features * add no-manual-cleanup rule
new rule no-get-by-for-checking-element-not-present
add support for resolves/rejects matchers in async queries
prefer-expect-query-by: remove rule from shareable configs
# 1.4.0 (2020-01-13) ### Features * rule: add data-testid rule
prefer-explicit-assert: check if node property is accessed
await-async-query: references is not iterable / cant parse expect(findBy*)
prefer-explicit-assert raising error on destructuring statement
prefer-explicit-assert options example
add prefer-explicit-assert rule
### Features - rule: prefer-expect-query-by
Small release just for fixing package version
Small release just for fixing package version
Follow Testing Library best practices and anticipate common mistakes with this ESLint plugin:
Follow Testing Library best practices and anticipate common mistakes with this ESLint plugin:
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →