Я был в этом положении, как в настоящем TDD. Обычно я пишу тесты для интерфейсов других людей, когда это возможно. Затем я знаю, прежде чем запускать свой код, если они сделали одно из многих общих действий, которые делают люди:
- Сломал API, переименовав или полностью покончив с чем-либо
- сломал API с тонкими изменениями типов, которые не были замечены
- отправил токсическую ревизию без проверки
- Из-за утечек памяти (мой набор тестов известен Valgrind)
- Блок там, где они никогда раньше не блокировались
Любой из этих сбоев обычно приводит к тому, что я говорю: «Эй, можешь проверить (модуль), я думаю, что он сломался в последней ревизии»
Это стало ужасно только один раз. Кто-то очень расстроился из-за того, что я писал тесты для их кода, и настоял на том, чтобы я не работал. Я не мог заставить человека понять, что я просто хотел облегчить мою работу.
Никогда не стоит выходить прямо и говорить: «Послушай, я трачу больше времени на отладку твоего кода, чем на работу самостоятельно», если только тебе это не нужно (т. Е. Твой босс спрашивает о твоей производительности). В большинстве случаев, если вы просто отправляете людям тесты, они счастливы, что получают их. Если вы уже встречаете сопротивление этой идеей, просто постарайтесь никого не обидеть или казаться снисходительным.
С фиктивными функциями / заглушками все в порядке, но остается то, что программа в целом все еще может сломаться, если реальные тесты не будут запущены. По крайней мере, когда это происходит, вы можете быстро исключить свои вещи и (вероятно) указать прямо на проблему.