В классической модели разработки сначала пишется рабочий код, потом оный покрывается тестами. В случае TDD (test-driven development, разработка через тестирование) сначала пишутся тесты, потом - код, который их проходит. Трудоёмко, долго, но надо. Хотя бы уметь, если не практиковать.
Но задалбывает.
Но надо.