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