2009-10-30 53 views
0

说我是否在(NMock)模拟了以下接口。我怎么能检查email.Subject ='xyz'?如何检查NMock中函数参数的属性

目前即时通讯做这样的事情

IEmailService s = mocks.NewMock<IEmailService>(); 
Expect.Once.On(s).Method("Send").With(?????) 

s.Send(new Email { Subject = 'rarr' }); 

mocks.Verify...(); 

interface EmailService { void SendEmail(Email email); } 

回答

0

您可以使用一个Has.Property matcher这样的:

IEmailService s = mocks.NewMock<IEmailService>(); 

Expect.Once.On(s).Method("Send"). 
    With(Has.Property("Subject", Is.EqualTo("rarr"))); 

s.Send(new Email { Subject = 'rarr' }); 
mocks.Verify...(); 

或者你可以写一个自定义匹配,以验证该参数的类型是Email和其Subject酒店有正确的值。

0

你要检查里面有了主题?这对我来说很奇怪,因为你正在编写单元测试用例,所以不需要用这种方法验证你自己的测试用例,对吧?

+0

我实际上在做一个集成测试。但我想确保调用Send()的对象传递正确的参数。 – mrwayne 2009-11-01 21:55:55

+0

不确定这是否适用于NMock。考虑它自己的支持页面, http://www.nmock.org/support.html – 2009-11-02 02:13:42