Итак, теперь, в тесте, после создания экземпляра тестового объекта, вы можете переопределить зависимое поведение:
у проверить следующую логику (это, очевидно, урезанная версия моего метода):
public void myPublicMethod(params) {
if(some_condition)
privateMethod1();
else
privateMethod2();
}
У меня отключены все другие зависимости в методе, и я настроил это так, чтобы я мог гарантировать, что some_condition имеет значение true. Я хочу убедиться, что мой privateMethod1 () вызывается ровно один раз, а privateMethod2 () вообще не вызывается. Это возможно сделать с Moq?
Вот несколько заметок по этому вопросу:
privateMethod1 () и privateMethod2 () находятся в одном классе с myPublicMethod, поэтому я не могу создать фиктивный объект для этого класса.Тела privateMethod1 / 2 содержат много, много зависимостей от класса, который содержит их и myPublicMethod, поэтому разбиение privateMethod1 / 2 на их собственный вспомогательный класс будет непомерно трудоемкиместь идеи? Заранее спасибо. Я готов признать, что этого нельзя сделать, но я хотел бы узнать так или иначе.