Метод подтверждения Rhino Mocks вызывается один раз
У меня есть метод, который я тестирую с помощью Rhino Mocks. Когда я тестирую этот метод сам по себе, он проходит, но когда тестируется несколько методов, он терпит неудачу. Я предполагаю, что это потому, что я не уничтожаю что-то правильно. Ниже приведен мой установочный код для создания моей ObjectFactory.
public void Setup()
{
ObjectFactory.Initialize(x =>
{
x.For<ISecurityManager>().Use<SecurityManager>();
x.For<IManager>().Use<Manager>();
x.For<IWorkflowManager>().Use<WorkflowManager>();
});
}
Вот пример одного из модульных тестов.
var mockIWorkflowManager = MockRepository.GenerateMock<IWorkflowManager>();
mockIWorkflowManager.Stub(d => d.SendCompletedEmailWithComments(Arg<WorkOrder>.Is.Anything, Arg<string>.Is.Anything));
ObjectFactory.Inject(typeof(IWorkflowManager), mockIWorkflowManager);
SubmitAction action = new SubmitAction();
action.SendNotifyEmail("toUser", new WorkOrder(), "currentUser", new StepAction { Name = "with comments" });
mockIWorkflowManager.AssertWasCalled(x => x.SendCompletedEmailWithComments(Arg<WorkOrder>.Is.Anything, Arg<string>.Matches(y => y == "toUser")));
mockIWorkflowManager.AssertWasNotCalled(x => x.SendNotifyEmail(Arg<string>.Is.Anything, Arg<WorkOrder>.Is.Anything, Arg<string>.Is.Anything));
другие тесты похожи, просто изменяя возвращаемые значения, чтобы повлиять на логический путь. Если я запускаю их по одному, все они проходят, но если я запускаю их все сразу, все они терпят неудачу.