Это действительно сложная ситуация. Я никогда раньше не переходил к TDD из ничего, но, по моему опыту, заставить команду перейти от отсутствия юнит-тестов к их активному написанию - это очень сложный подход "шаг за шагом".
Во-первых, приучите их писать модульные тесты, чтобы они знали, что это такое и в чем их польза. В моих командах было лучше всего писать модульные тесты для существующих ошибок. У существующих ошибок в системах есть две вещи, которым нужно научить людей, чтобы хорошо писать модульные тесты:
Это дает участникам очень конкретные практические примеры. Они могут написать тест до исправления ошибки, чтобы он не сработал. Затем они могут исправить код так, чтобы он прошел и исправил ошибку. Когда они освоят это, вы сможете довести их до конца, чтобы они могли писать модульные тесты без кода, а затем писать новый код, чтобы тесты прошли.
Я думаю, что фокус в том, чтобы дать им что-то для практики, где есть четкие предварительные и последующие условия метода. Если требования к методам нечеткие, даже опытным TDD-специалистам трудно понять, с чего именно начать. Делайте шаг за шагом, и у вас все получится. Удачи!
Прикрепляю к посту несколько видео по теме: