I'm looking into creating custom eslint rules that aim to avoid common
causes of oranges in tests. We have an MDN page
<https://developer.mozilla.org/en-US/docs/Mozilla/QA/Avoiding_intermittent_oranges>
containing some of these already. Some of those patterns might be pretty
hard to catch with a linter, but others look do-able. So far, I'm thinking
of adding rules for:

   - No arbitrary setTimeouts
   - No synthesizeKey without waiting for focus
   - No deleting original tab
   - ???

These rules would only be configured to run on test files. I have a few
questions:

   1. Would this cause too much of a burden for legitimate uses of those
   patterns?
   2. Do any of the other patterns on that page look feasible to implement
   as linters?
   3. Are there additional things not listed on that page that we could
   lint for?

I'd love to find volunteer(s) who are more familiar with writing mochitests
than myself (and who also care about this issue) to help brainstorm and
provide more in-depth feedback. I want to strike a balance between
preventing oranges and not over-burdening test authors, but I'm not sure
what that balance looks like.

Thanks in advance for your input,
Andrew
_______________________________________________
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform

Reply via email to