Есть несколько других вариантов этого вопроса здесь, в SO, но, пожалуйста, прочитайте весь вопрос.
Используя только подделки, мы смотрим на конструктор, чтобы увидеть, какие у класса есть зависимости, и затем создаем для них подделки.
Затем мы пишем тест для метода, простоглядя на это контракт (метод подписи).Если мы не можем понять, как таким образом протестировать метод, не следует ли нам попытаться реорганизовать метод (скорее всего, разбить его на более мелкие части), чем заглянуть внутрь него, чтобы понять, как мы должны его тестировать?Другими словами, это также дает нам контроль качества.
Разве это не плохо, потому что они требуют, чтобы мы заглянули внутрь метода, который мы собираемся протестировать?И поэтому пропустите весь «посмотрите на подпись как на критика».
Обновление, чтобы ответить на комментарий
Тогда произнесите заглушку (просто фиктивный класс, предоставляющий запрошенныйобъекты).
Фреймворк, подобный Moq
, обеспечивает вызов Method A
с аргументами X
и Y
.И чтобы иметь возможность настроить эти проверки, нужно заглянуть внутрь проверенного метода.
Разве важная вещь (контракт метода) не забыта при настройке всех этих проверок, так как фокус смещен от подписи / контракта метода, чтобы заглянуть внутрь метода и создать проверки.
Не лучше ли попробовать протестировать метод, просто взглянув на контракт?В конце концов, когда мы используем метод, мы просто смотрим на контракт при его использовании.Поэтому очень важно, чтобы его контракт легко было понять и понять.