覆盖默认的mock属性值

时间:2012-03-22 13:16:32

标签: rhino-mocks

我正在设置一个默认的模拟对象,然后我将通过更改每个属性并验证错误消息来测试验证方法。以下测试为false,因为属性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 :(得分:0)

InitialSetup内,您在ApprovalAmount上设置了一个期望值,然后在测试中再次执行此操作。这意味着第一次访问ApprovalAmount将返回123,第二次访问它将返回-1。

我认为你不需要InitialSetup内的第一个期望。