Скажем, у меня есть методы A, B, C и D.Пропустить внутренние вызовы методов в модульном тестировании
public bool A (int foo)
{
bool result = false;
if (foo > 0)
result = B();
else result = C();
D(foo);
return result;
}
Я хочу написать модульный тест для А, с вызовом B или C, но хочу пропустите вызов D (потому что это метод, использующий внешние службы). Можно ли пропустить вызов D с помощью некоторых атрибутов? Или высмеивать D, заменяя его каким-то поддельным сервисом?
Вы должны * mock * 'D': вы не можете избежать вызова' D', если вы введете метод 'A' –
Да, вам нужно будет Mock * D *. – bit
В любом случае, вы хотите пропустить вызов 'D' - сама проблема. Вы не хотите изменять свое устройство, иначе это не настоящий тест. Ваш тест должен обрабатывать блок кода как часть черного ящика. «Я даю ему этот вклад, я ожидаю этот результат». –