如何在NMock中检查函数参数的属性

时间:2009-10-30 02:53:27

标签: .net nmock2

说我是否在(NMock)中模拟了以下界面。我怎么能检查那封email.Subject ='xyz'?

目前正在做类似

的事情
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); }

2 个答案:

答案 0 :(得分:0)

你想检查一下里面的主题吗?当你编写单元测试用例时,这对我来说很奇怪,所以没有必要以这种方式验证你自己的测试用例,对吗?

答案 1 :(得分: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属性具有正确的值。