Применяется ли YAGNI и при написании тестов? - PullRequest
13 голосов
/ 03 июня 2009

Когда я пишу код, я пишу только те функции, которые мне нужны, когда они мне нужны.

Применяется ли этот подход также к написанию тестов?

Должен ли я заранее написать тест для каждого варианта использования, о котором я могу только подумать, чтобы он был безопасным, или я должен писать тесты только для варианта использования, когда я его наткнулся?

Ответы [ 11 ]

0 голосов
/ 03 июня 2009

Я часто нахожу себя пишущим тесты, TDD, для случаев, когда я не ожидаю, что нормальный поток программ вызовет. Подход «фальсифицируй, пока сделаешь» заставляет меня начинать с нуля, как правило, достаточно, чтобы иметь представление о том, как должен выглядеть вызов функции, какие типы будут иметь ее параметры и какой тип она будет иметь. вернуть. Чтобы было ясно, я не просто отправлю null в функцию в моем тесте; Я инициализирую типизированную переменную для хранения нулевого значения; таким образом, когда Eclipse Quick Fix создает функцию для меня, она уже имеет правильный тип. Но нередко я не ожидаю, что программа, как правило, отправит нуль в функцию. Так что, возможно, я пишу тест, который я AGN. Но если я начну со значений, иногда это слишком большой кусок. Я одновременно разрабатываю API и продвигаю его реальную реализацию с самого начала. Итак, начиная медленно и притворяясь, пока я делаю это, иногда я пишу тесты для случаев, которые я не ожидаю увидеть в рабочем коде.

...