На мой взгляд, единственный способ убедить кого-либо в тестах - это продемонстрировать, что они полезны - то есть, что сбои в тестировании помогают находить и исправлять ошибки .
То, как вы описываете проблему, похоже, здесь не так. Посмотрите...
... когда я вытащу, чей-то код сломает мои тесты, и я тот, кто должен их исправить.
Если я правильно понимаю, вы имеете в виду, что вы должны изменить тесты. Ну, это не похоже на то, что тестовые сбои помогают найти и исправить ошибки, не так ли? Если тесты не помогают в поиске ошибок, это довольно слабое место, чтобы убедить ваших коллег - что они могут ожидать получить? утомительные исправления в хрупком тестовом коде?
Это может звучать как тупик, но на самом деле это не так. Ваша конечная цель (убедить в TDD) все еще имеет смысл, не бросайте ее. Просто переориентируйте свои усилия на устранение обнаруженного препятствия.
Сбои тестов, которые беспокоят вас сейчас, по сути являются «ложными предупреждениями» - это ошибки в тестах, а не в коде. Используйте их как возможность улучшить тесты, чтобы научиться делать хороший надежный дизайн тестов. Работайте над тестами, чтобы сделать «ложные оповещения» менее частыми и упростить обнаружение реальных ошибок в тестируемом коде.
Когда вы обнаружите настоящие ошибки, сообщите об этом своим коллегам и помогите им исправить их - и не забудьте указать, что эти ошибки обнаружены вашими тестами. Это станет действительно прочной основой, чтобы убедить ваших коллег.
Стоит отметить, что навыки разработки тестов, которые вы развиваете на «предварительном» этапе, скорее всего, понадобятся снова, если (когда :) вы наконец убедите своих товарищей по команде использовать TDD. Подумай об этом...
... Что произойдет, если разработка, основанная на тестировании, будет представлена вашим неопытным коллегам?
Первое, на что стоит обратить внимание, это то, что парни начнут писать дерьмовые тесты и (ужас!) Даже ломать хорошие тесты во время обучения. Чтобы помочь им найти способ сделать это правильно, вам нужно достаточно глубокое понимание хорошего дизайна теста.
Все ошибки, которые вы обнаружите и исправите в своих тестах сейчас, будут повторяться снова и снова всеми вашими товарищами по команде, когда они начнут учиться. Если (когда!) Это произойдет, вам лучше подготовиться к тому, чтобы быстро и четко объяснить, как улучшить ситуацию, если вы хотите, чтобы они оставались позитивными в отношении TDD.