0

假设我在(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); }
4

2 回答 2

0

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

于 2009-10-30T09:10:56.740 回答
0

您可以使用这样的Has.Property匹配器

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属性具有正确的值。

于 2010-02-10T15:35:27.490 回答