Носорог говорит, что Arg <T>внутри AssertWasCalled нужно больше аргументов? - PullRequest
6 голосов
/ 15 февраля 2012

вот вызов внутри [Test]

_youTubeService.AssertWasCalled(d => d.GetFeedByAuthorWithRequest("Mark", Arg<YouTubeRequest>.Is.Anything));

вот функция интерфейса youtubeService:

Feed<Video> GetFeedByAuthorWithRequest(string author, YouTubeRequest request)

Вот ошибка, которую мне дает Rhino Mocks при запуске теста:

System.InvalidOperationException: при использовании Arg все аргументы должны быть определены с использованием Arg.Is, Arg.Text, Arg.List, Arg.Ref или Arg.Out. Ожидается 2 аргумента, 1 определен.

Я все время использую Arg.Is.Anything с другими типами, обычно со строками, поэтому я не уверен, что еще нужно.

1 Ответ

10 голосов
/ 15 февраля 2012

Сообщение об исключении говорит вам, что не так: все аргументы должны быть определены с помощью Arg ... .

Вам необходимо указать аргумент «Пометить», используя Arg.Is или Arg.Text, или какой-либо другой статический Arg метод.

...