I’ve been using Testing Library intensively for the last six months.
It’s a terrific library with an awesome vision. I definitely see it becoming a standard, especially for integration testing.
There are a few things that do frustrate me:
- The docs are messy. It’s easy to jump between flavors without realizing it, the language isn’t the most beginner-friendly, it lacks more real-world use cases and being solution-oriented.
- There’s a lot of knowledge scattered between the docs, GitHub issues and Spectrum. I often end up Googling instead of using the docs because it’s usually not where I find answers.
- All flavors aren’t always in sync. I’m using Preact Testing Library and for example, while the waitFor* utilities are deprecated in favor of waitFor everywhere in the docs, it’s not yet an exposed function in PTL.
Now, there are many upsides:
- Testing the front end in integration _should_ be done as closely as a user would do it. You may wrestle with Testing Library at first but you’re actually wrestling against yourself and your bad practices. TL forces you to write better code.
- The API may be surprising when you’re used to other libraries but it’s actually awesome and makes reading tests a bliss. I’ve showed tests to non-JS coworkers and they agreed that it’s super clear.
- Accessibility-based testing has taught me more on accessibility than lenghty specs. I love when tools teach me stuff.
Awesome job @kentcdodds and contributors!
You can follow @frontstuff_io.
Tip: mention @threader_app on a Twitter thread with the keyword “compile” to get a link to it.
Enjoy Threader? Sign up.
Since you’re here...
... we’re asking visitors like you to make a contribution to support this independent project. In these uncertain times, access to information is vital. Threader gets 1,000,000+ visits a month and our iOS Twitter client was featured as an App of the Day by Apple. Your financial support will help two developers to keep working on this app. Everyone’s contribution, big or small, is so valuable. Support Threader by becoming premium or by donating on PayPal. Thank you.