2009-08-25 9 views
5

Sto utilizzando NUnit prende in giro e vorrei precisare che mi aspetto una chiamata, ma senza dire che cosa gli argomenti saranno per esempio:Esiste un modo per specificare NULLA come argomento per la chiamata Aspettarsi Mock NUnit?

mock.ExpectAndReturn("Equals", true, ANY_ARGUMENT); 

Ovviamente compilando la sintassi corretta invece di ANY_ARGUMENT.

C'è un modo per farlo?

Se specifico argomenti - NUnit non supera la prova, perché aspettava 0 argomenti ma ha ricevuto 1.

+0

qualsiasi aggiornamento su questo argomento? – yeyeyerman

risposta

2

Guardando la versione 2.5.2 di nunit.mocks.dll in Reflector, non sembra ci sia un metodo che fa quello che stai cercando. NUnit è open source, quindi un'opzione è ottenere il codice e aggiungere la funzione.

0

È possibile implementare una nuova istanza di IResolveConstraint che accetta qualsiasi cosa e la utilizza come parametro nel test. NUnit tratta le istanze di IResolveConstraint in modo diverso rispetto a qualsiasi altro oggetto, usando Assert.That, invece di Assert.AreEqual per verificarne la correttezza.

Es.

myMock.ExpectAndReturn ("mockedMethod", argument1, nuova AcceptsAnythingConstraint())

1

Hai provato:

mock.SetReturnValue(true); 
mock.Expect("Equals"); 
2

Sì, c'è un una funzione tale in NUnit Mocks.

Invece di ExpectAndReturn utilizzare SetReturnValue. Prima funzione, come i nomi dicono, si specifica l'oggetto di input e si restituisce l'oggetto. L'ultima funzione specifica solo un oggetto di ritorno per la funzione specifica.

Uso: interfaceMock.SetReturnValue("SomeRetrunFunction", someReturnFunction);

Problemi correlati