DP>Так TDD применяется к юнит, РЕСТ АПИ и прочим подобным тестам. Чтобы их применяли к UI тестам – ни разу не слышал. А не применяют их там по озвученным тобою же причинам.
Насколько я понял, имелись в виду интерфейсы между компонентами, чтобы можно было подменять зависимости и делать чистые изолированные юнит-тесты.
В реальности даже не совсем идеальные юнит-тесты принесут пользу, так же можно по мере написания тестов на легаси вводить интерфейсы или другие способы подмены зависимостей.
Но в это-то и раскрывается еще один плюс TDD — когда пишешь код, сразу думаешь как его тестировать.