Там много писанины, и медленная разработка
это не совсем правда - когда мало опыта было, мне не зашло
сейчас всю логику так и пишу описывая все ситуации через Given/When/Then
очень удобно разделять Given через group('Given state')
а внутри тесты на исходы
когда реализация все тесты прошла - это непередаваемое ощущение уверенности при рефакторинге
ps когда ты без теста пишешь - потом тратишь время на дебаг, тыканье пальцем в устройство, etc
это прилично больше времени занимает, чем писать тесты до реализации, просто ты ещё этого не видишь