2012-02-14 6 views
6

ecco la chiamata all'interno di un [Test]Rhino mi dice che Arg <T> all'interno di AssertWasCalled ha bisogno di più argomenti?

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

Ecco la funzione sull'interfaccia per youtubeService:

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

Ecco l'errore Rhino Mocks mi da quando ho eseguito il test:

System.InvalidOperationException: quando si utilizza Arg, tutti gli argomenti devono essere definiti utilizzando Arg.Is, Arg.Text, Arg.List, Arg.Ref o Arg.Out. 2 argomenti attesi, 1 sono stati definiti.

Io uso Arg.Is.Tutto tutto il tempo con altri tipi, di solito stringhe, quindi non sono sicuro di cos'altro ha bisogno.

risposta

10

Il messaggio di eccezione vi dice cosa c'è di sbagliato: tutti argomenti devono essere definite utilizzando Arg ....

È necessario specificare l'argomento "Contrassegna" utilizzando Arg.Is o Arg.Text o qualche altro metodo statico Arg.

+0

Appena colpito da questo, il motivo per cui il numero di parametri non corrisponde era l'aggiunta di un parametro predefinito. Grazie per la risposta – rob