Это первый тест, в котором это не сработало (остальные 45 или около того хороши), но это также первый тест, использующий A) частичный макет и B) поддельный метод, которыйвозвращает недействительнымЛюбые идеи?
A) PartialMock означает, что Rhino будет перехватывать вызовы методов только , если у него есть ожидание.Я думаю, что вы используете здесь хорошо.
B) Пустые методы тоже не должны быть проблемой.
Скорее всего, ваша проблема в ваших ожиданиях:
Expect.Call(delegate { contextManager.RemoveContext(guid); });
guid
в вашем ожидании должен быть тем же экземпляром, что и guid, переданный target
.
Попробуйте это:
Expect.Call(delegate { contextManager.RemoveContext(guid); }).IgnoreArguments();
// you can also use fluent syntax like this:
// contextManager.Expect(x => x.RemoveContext(guid)).IgnoreArguments();
Если это работает, вы можете быть довольноубедитесь, что ваш тестовый гид и реальный гид, используемый в вашем классе, не совпадают.