The Ultimate Guide to unit testing in JavaScript!

A Thread... 🧵
A unit test should test the behavior of a unit of work.

Unit tests are isolated and independent of each other.

- Any given behaviour should be specified in one and only one test

- The execution/order of execution of one test cannot affect the others

- Repeatable

- Fast
Ultimate Guidelines Which Helped Me a Lot.

- Whenever possible, use TDD

- Structure your tests properly

- Name your tests properly

- Don't comment out tests

- Avoid logic in your tests

- Don't write unnecessary expectations

- Know your testing framework API
- Consider using factory functions in the tests

- Don't test multiple concerns in the same test

- Cover the general case and the edge cases

- Test the behavior, not the internal implementation

- Don't mock everything

- Create new tests for every defect

- Test simple actions
- Review test code first

- When applying TDD, always start by writing the simplest failing test

- When applying TDD, always make small steps in each test-first cycle

- Properly setup the actions that apply to all the tests involved

Remember 👉 "Unit tests are code too"
You can follow @TheAnkurTyagi.
Tip: mention @twtextapp on a Twitter thread with the keyword “unroll” to get a link to it.

Latest Threads Unrolled: