我正在设置一个默认的模拟对象,然后我将通过更改每个属性并验证错误消息来测试验证方法。以下测试为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);
}
答案 0 :(得分:0)
在InitialSetup
内,您在ApprovalAmount
上设置了一个期望值,然后在测试中再次执行此操作。这意味着第一次访问ApprovalAmount
将返回123,第二次访问它将返回-1。
我认为你不需要InitialSetup
内的第一个期望。