fix(no-identical-title): always consider .each titles unique#910
Conversation
Correct 🙂
Yeah, seems like a reasonable way to go about it 👍 |
# [24.5.0](v24.4.3...v24.5.0) (2021-09-29) ### Bug Fixes * **no-deprecated-functions:** remove `process.cwd` from resolve paths ([#889](#889)) ([6940488](6940488)) * **no-identical-title:** always consider `.each` titles unique ([#910](#910)) ([a41a40e](a41a40e)) ### Features * create `prefer-expect-resolves` rule ([#822](#822)) ([2556020](2556020)) * create `prefer-to-be` rule ([#864](#864)) ([3a64aea](3a64aea)) * **require-top-level-describe:** support enforcing max num of describes ([#912](#912)) ([14a2d13](14a2d13)) * **valid-title:** allow custom matcher messages ([#913](#913)) ([ffc9392](ffc9392))
|
🎉 This PR is included in version 24.5.0 🎉 The release is available on: Your semantic-release bot 📦🚀 |
# [25.0.0-next.5](v25.0.0-next.4...v25.0.0-next.5) (2021-09-29) ### Bug Fixes * **no-deprecated-functions:** remove `process.cwd` from resolve paths ([#889](#889)) ([6940488](6940488)) * **no-identical-title:** always consider `.each` titles unique ([#910](#910)) ([a41a40e](a41a40e)) * **valid-expect-in-promise:** support `finally` ([#914](#914)) ([9c89855](9c89855)) * **valid-expect-in-promise:** support additional test functions ([#915](#915)) ([4798005](4798005)) ### Features * create `prefer-expect-resolves` rule ([#822](#822)) ([2556020](2556020)) * create `prefer-to-be` rule ([#864](#864)) ([3a64aea](3a64aea)) * **require-top-level-describe:** support enforcing max num of describes ([#912](#912)) ([14a2d13](14a2d13)) * **valid-title:** allow custom matcher messages ([#913](#913)) ([ffc9392](ffc9392))
|
🎉 This PR is included in version 25.0.0-next.5 🎉 The release is available on: Your semantic-release bot 📦🚀 |
@SimenB I think we should try and get this sorted before the next major too, as
it has been similarly disruptive to a small subset of users.
I'd be interested in your opinion on this - my understanding of the rule is that
it's trying to enforce this:
As the title should always be provided to reporters whereas other information
(like what line in code the test is on) isn't guaranteed, and so having titles
that are identical on the same nesting level makes it very hard to tell which is
what test in code.
This is easy to handle with static titles, but
.eachsupports injecting valuesinto their static titles, making it harder to decide if a title is unique or not
since we cannot predict the final title(s).
I think this boils down to deciding which of these cases we should consider
unique:
Ideally we should be treating all "no injection"s as identical, but the general
issue is how reliably can we determine if there is an injection or not (which I
think we can, we just need the time to implement it).
I think for now we should say for this rule that any
.eachtitle is unique(which is what this change does), and then follow-up with implementing logic to
handle injections - either as a new rule (e.g.
require-injection-in-each) oras an option on this rule (e.g.
ignoreEachWithInjections), or maybe bothdepending on how it plays out.
Fixes #836