Но ведь некоторые части кода трудно тестировать? Да, но только потому, что этот код был так тестирования. И для этого лучше всего написать тесты сначала – до того кода, который должен их пройти.