это один из моих вопросов о модульном тестировании.
Я читаю Искусство модульного тестирования, и в главе 3 автор показывает, как удалить зависимость между одним или несколькими классами. Это кажется мне ясным. Не совсем ясен следующий момент.
Когда я настраиваю тестовый метод с заглушкой, я настраиваю его так, чтобы он возвращал определенное значение. Затем я вызываю проверенный метод, предоставляемый тестируемым классом. Этот метод выполняет некоторую логику и использует возвращаемое значение заглушки. Проблема в том, что если заглушка настроена на возврат неправильного значения, мой тест, вероятно, завершится неудачей.
Итак, вопрос: когда я использую заглушки, должен ли я ВСЕГДА настраивать их так, чтобы они возвращали ожидаемое значение? По моему мнению, это должен быть правильный способ проверки, как если бы заглушка всегда возвращала ожидаемое значение. Я уверен, что буду проверять только логику внутри тестируемого метода.
Что Вы думаете об этом? Есть ли какой-то случай, в котором есть какой-то смысл обязать заглушку возвращать неверные значения?
Большое спасибо, Марко