Итак, теперь, в тесте, после создания экземпляра тестового объекта, вы можете переопределить зависимое поведение:

у проверить следующую логику (это, очевидно, урезанная версия моего метода):

public void myPublicMethod(params) {

    if(some_condition)
        privateMethod1();
    else
        privateMethod2();
} 

У меня отключены все другие зависимости в методе, и я настроил это так, чтобы я мог гарантировать, что some_condition имеет значение true. Я хочу убедиться, что мой privateMethod1 () вызывается ровно один раз, а privateMethod2 () вообще не вызывается. Это возможно сделать с Moq?

Вот несколько заметок по этому вопросу:

privateMethod1 () и privateMethod2 () находятся в одном классе с myPublicMethod, поэтому я не могу создать фиктивный объект для этого класса.Тела privateMethod1 / 2 содержат много, много зависимостей от класса, который содержит их и myPublicMethod, поэтому разбиение privateMethod1 / 2 на их собственный вспомогательный класс будет непомерно трудоемким

есть идеи? Заранее спасибо. Я готов признать, что этого нельзя сделать, но я хотел бы узнать так или иначе.

Ответы на вопрос(2)

Ваш ответ на вопрос