Как проверить свойство аргумента функции в NMock - PullRequest
0 голосов
/ 30 октября 2009

Скажите, если у меня был смоделирован следующий интерфейс (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 голосов
/ 10 февраля 2010

Вы можете использовать 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 голосов
/ 30 октября 2009

Хотите проверить тему внутри с? Это странно для меня, поскольку вы создаете модульные тесты, поэтому нет необходимости проверять свой собственный тестовый пример таким образом, верно?

...