Я читал Joel Test 2010, и он напомнил мне о проблеме, которую я имел с модульным тестированием.
Как я действительно unit test что-то? Я не unit test функции? только полные классы? Что делать, если у меня есть 15 классов, которые составляют < 20lines. Должен ли я писать 35line unit test для каждого класса, выводя 15 * 20 строк в 15 * (20 + 35) строк (от 300 до 825, почти на 3 раза больше кода).
Если класс используется только двумя другими классами в модуле, должен ли он unit test его или будет ли тест против двух других классов достаточным? что, если они все, 30 строк кода я должен беспокоиться?
Если я пишу код для дампа данных, и мне никогда не нужно его читать, например, используется другое приложение. Другое приложение не является командной строкой, или это не способ проверить, хороши ли данные. Мне все еще нужно unit test это?
Что делать, если приложение является утилитой, а общая сумма составляет < 500 строк кода. Или используется на этой неделе и будет использоваться в будущем, но всегда нужно переконфигурировать, потому что он предназначен для быстрого пакетного процесса, и каждый проект потребует изменений, потому что выход желания не изменяется. (я пытаюсь сказать theres никоим образом не вокруг, по уважительным причинам он всегда будет изменен) сделать я unit test, и если да, то как? (может быть, нам не важно, если мы сломаем функцию, использованную в прошлом, но не в настоящем или будущем).
и др.
Я думаю, что это должно быть вики. Может быть, люди хотели бы сказать точно, что они должны unit test (или не должны)? возможно, ссылки на книги хороши. Я пробовал один, но он никогда не уточнял, что должно быть проверено на модуле, просто проблемы написания модульных тестов и решений.
Также, если классы предназначены только для того, чтобы быть только в этом проекте (по дизайну, спецификации или по любой другой причине), и класс не полезен сам по себе (скажем, он генерирует html с использованием данных, которые возвращают готовые комментарии html). Мне действительно нужно Попробуй это? скажем, проверяя, разрешают ли все публичные функции объекты с нулевым комментарием, когда мой проект никогда не использует нулевой комментарий. Это те вещи, которые заставляют меня задаться вопросом, не я ли я тестирую неправильный код. Также тонны классов выбрасываются в проект. Его пограничный выброс или не очень полезный код, который меня беспокоит.