v4.0.0
4.0.0 (2021-04-11)
Overview
eslint-plugin-testing-library
v4 brings the new Aggressive Reporting (an advanced mechanism to drastically improve reporting things related to Testing Library), 7 new rules, Shareable Configs updates, more consistent and flexible detection, and tons of bug fixes. You can follow this migrating to v4 guide.
BREAKING CHANGES
- Minimum ESLint version required is v7.5. Support from v5.X to v7.5 has been dropped
recommended
Shareable Config has been renamed todom
no-promise-in-fire-event
rule enabled indom
,angular
,react
andvue
Shareable Configsno-wait-for-empty-callback
rule enabled indom
,angular
,react
andvue
Shareable Configsprefer-screen-queries
rule enabled indom
,angular
,react
andvue
Shareable Configsno-container
rule enabled inangular
,react
andvue
Shareable Configsno-node-access
rule enabled inangular
,react
andvue
Shareable Configsrender-result-naming-convention
rule enabled inangular
,react
andvue
Shareable Configsno-debug
rule changed from "warning" to "error" inangular
,react
andvue
Shareable Configs- prefer-explicit-assert: option
customQueryNames
has been removed - no-debug: option
renderFunctions
has been removed - no-render-in-setup: option
renderFunctions
has been removed
Bug Fixes
- all rules detect things related to Testing Library (wrappers, variable references, custom imports, renamed utils) better and more consistently
- await-async-query: detect wrappers around async queries properly (#260)
- await-async-utils: detect wrappers around async utils properly (#263)
- await-fire-event: detect wrappers around fire event properly (#265)
- no-await-sync-events: report
type
andkeyboard
methods with 0 delay (#302) - no-debug: detect wrappers around
debug
properly (#295) - prefer-screen-queries: ignore queries coming from non-reportable renders
- prefer-screen-queries: improve error message (#320)
Features
- new Aggressive Reporting mechanism for detecting Testing Library imports, renders, utils, and queries (#237, #252, #260)
- new rule
no-container
(#177, #295) - new rule
render-result-naming-convention
(#200, #280, #282) - new rule
prefer-user-event
(#192, #251) - new rule
no-promise-in-fire-event
(#180, #266) - new rule
no-wait-for-side-effects
(#196, #300) - new rule
no-node-access
(#190, #237) - new rule
no-wait-for-multiple-assertions
(#189, #301) - new shared setting
testing-library/utils-module
(#239) - new shared setting
testing-library/custom-renders
(#280, #282)
Contributors
Huge thanks to @nickmccurdy @thebinaryfelix @timdeschryver @gndelia @renatoagds @MichaelDeBoey @thomaslombart for your contributions of all kind! v4 wouldn't be possible without you ❤️