Переопределение значения фиктивного свойства по умолчанию - PullRequest
0 голосов
/ 22 марта 2012

Я устанавливаю фиктивный объект по умолчанию, который затем проверю метод проверки, изменяя каждое из свойств и проверяя сообщение об ошибке. Приведенный ниже тест является ложным, поскольку свойство ApprovalAmount всегда равно 123.

IConfig configmock; IDocument cerDocumentMock;

private void InitialSetup()
    {
        configMock = MockRepository.GenerateMock<IConfig>();
        cerDocumentMock = MockRepository.GenerateMock<IDocument>();

        cerDocumentMock.Expect(x => x.ApprovalAmount).Return(123);
    }        

    [Fact]
    public void FailedUploadWithApprovalAmountBeingLessThanZero()
    {
        InitialSetup();
        cerDocumentMock.Expect(x => x.ApprovalAmount).Return(-1);
        CERServ = new CERService(cerDocumentMock, configMock);

        ExpectedString = "The approval amount must be greater than zero.<br/>";
        CERServ.Validate();

        Assert.Equal(ExpectedString, CERServ.Message);
    }

1 Ответ

0 голосов
/ 22 марта 2012

Внутри InitialSetup вы устанавливаете ожидание на ApprovalAmount, а затем делаете это снова в тесте. Это означает, что при первом доступе к ApprovalAmount вернется 123, а при втором обращении - -1.

Не думаю, что вам нужно первое Ожидание внутри InitialSetup.

...