Метод подтверждения 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));

другие тесты похожи, просто изменяя возвращаемые значения, чтобы повлиять на логический путь. Если я запускаю их по одному, все они проходят, но если я запускаю их все сразу, все они терпят неудачу.

0 ответов

Другие вопросы по тегам