You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This rules helps ensure that we use getBy matchers when we want to assert element exists, are check, are accessible etc and queryBy only when elements don't exist. This is our standard for clear code and easy debugging in tests.
Issues so far:
it does not seem to work with findBy for now
nor does it wok with "not" assertions (I'd like to use queryBy only for "not.toBeOnTheScreen"
I'm not sure I understand correctly. What you mention in "issues so far" are issues with the actual configuration of this plugin? Or with your proposal? Because we have already the perfer presence queries rule which makes sure we use getBy and queryBy properly. This rule does have an issue though which is it doesn't work with toBeOnTheScreen because it's a rather new matcher but I think the best solution would be to make a PR on the testing library eslint plugin to add proper support for toBeOnTheScreen, wdyt?
Indeed I forgot about "prefer presence queries" but from what I see, the list of matchers is rather thin (toBeInTheDocument, toBeDefined, toBeTruthy) whereas this new rule enables you to add any matcher you want.
Why?
This rules helps ensure that we use getBy matchers when we want to assert element exists, are check, are accessible etc and queryBy only when elements don't exist. This is our standard for clear code and easy debugging in tests.
Issues so far:
Rule Documentation 📜
https://github.com/testing-library/eslint-plugin-testing-library/blob/main/docs/rules/prefer-query-matchers.md
Config Selection 🛠
tests
(Optional) Additional Details 📝
Here is a possible configuration for this rule
The text was updated successfully, but these errors were encountered: