(не ответ, просто комментирование. Пожалуйста, игнорируйте.)
Тестирование не должно быть центром программирования.Особенно для молодых студентов.Всякий раз, когда мы можем, мы должны сначала сосредоточиться на логике и аргументации реализации.Мы должны практиковать наши навыки с такой уверенностью, что мы знаем, что код правильный, просто потому, что мы его написали.
Это невероятная цель?Многие люди могут действительно приблизиться к нему очень близко.Но даже если он слишком недоступен для человека, он должен практиковаться таким образом, по крайней мере, когда он студент.Это не повредит.
В TDD, кажется, поощряет студентов делать достаточно хорошую работу, чтобы пройти тесты.Вам действительно не нужно тщательно продумывать свой алгоритм;просто настраивайте его, пока он не пройдет тесты, что довольно легко.
Все плохое из этого выйдет.
Я не говорю, что тестирование не важно.Но это не должна быть линия защиты 1st для правильности.
В другой связанной теме некоторые люди утверждают, что TDD хорош для дизайна: если код легко тестировать, он оченьскорее всего, хороший дизайн.Это также очень озадачивает - когда нельзя сразу сосредоточиться на хорошем дизайне?