Extreme TLDR:
Test-driven development (TDD) can frustrate newcomers due to its perceived rigidity. The key issues include overly strict adherence to the “Red-Green-Refactor” cycle without recognizing individual skill levels or situational pressures. Developers should see TDD as a flexible practice rather than a strict procedure. Practical tips to begin TDD include brainstorming tests, organizing code into pure functions, acknowledging imperfect test coverage, avoiding direct reliance on externally owned code, using wrappers, employing dependency injection, and keeping UI handling simple and abstract. The aim is continuous practice and improvement rather than perfection. Readers with a basic understanding of JavaScript and React may find the article particularly beneficial.
https://8thlight.com/insights/getting-started-tdd-practical-guide