Что такое ЕДИНИЦА в модульном тесте?И что это должно быть? - PullRequest
3 голосов
/ 17 февраля 2011

Является ли единица классом или компонентом (более одного класса)?

Каким должен быть модульный тест?Насколько гранулированной должна быть единица?

Ответы [ 5 ]

5 голосов
/ 17 февраля 2011

Термин (похожий на многие другие вещи, связанные с Agile) перегружен (означает разные вещи для разных людей). Он претерпел много изменений и теперь субъективен. Некоторые придумали новый термин микротесты, чтобы избежать путаницы.

Ранее это означало тестирование белого ящика на функциональном уровне. Как правило, единица обычно представляет собой поведение, демонстрируемое классом (обычно в качестве метода). Среди практикующих TDD есть два лагеря

  • тестирование на основе взаимодействия изолирует класс от его зависимостей (при условии определенного договора между ними). Зависимости проверяются с помощью их модульных тестов. Модульный тест определяет, как ведет себя юнит. другим даны определенные стимулы
  • тестирование на основе состояния тестирует класс вместе с его реальными зависимостями.

В настоящее время я понимаю, что это осознанный выбор для каждого юнит-теста; один стиль не подходит для всех.

5 голосов
/ 17 февраля 2011

Единица - это самая маленькая тестируемая часть приложения, обычно функция.

3 голосов
/ 17 февраля 2011

Я бы сказал так: единица в модульном тесте - это объект, для которого ожидаемый выходной сигнал ожидается для известного входного значения. Однако уровень детализации может существенно различаться: от функции к классу и всей программе.

2 голосов
/ 17 февраля 2011

Также может быть меньше;модульный тест для одного метода.

2 голосов
/ 17 февраля 2011

Это может быть класс. Это может быть более одного класса. Это может быть вся система. Это логическая часть, которая принимает входные данные и выдает выходные данные, однако они определены для этого компонента.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...