Я использую RhinoMocks для очень простого теста (я должен сказать, что я новичок здесь). Я пытался издеваться над моим объектом, как это
var mock = MockRepository.GenerateMock<MyClass>();
создать заглушку помощника:
var stubLinkedObject = MockRepository.GenerateStub<MyClass>();
затем выполните некоторую логику, которая должна вызвать метод AddLink
класса MyClass
с моим аргументом-заглушкой. В конце теста я просто утверждаю, что этот метод на самом деле вызывался с
mockAction.AssertWasCalled(a => a.AddLink(stubLinkedObject));
Я ввел правильную зависимость, и метод на самом деле вызывается. Однако проблема заключается в том, что реализация real в MyClass
вызывается и приводит к сбою, потому что некоторая логика просто не может быть выполнена (сбор ссылок недоступен и т. Д.). Как я могу обойти выполнение и просто проверить, вызывается ли метод? Я пробовал что-то вроде
mockAction.Stub(a => a.AddLink(null)).IgnoreArguments().Do(null);
до того, как я приступлю к выполнению, но это, похоже, не работает (я получаю только некоторые исключения). Любые идеи и, возможно, объяснение, почему макет выполняет логику метода вообще?