Utilizzando Rhinomocks, come posso verificare che non sia mai stato chiamato un Mock/stub? Significa che nessun metodo è stato chiamato sul mock/stub?Rhinomocks, come verificare che uno stub/mock non sia mai stato chiamato?
Sono a conoscenza del metodo AssertWasNotCalled, ma questo metodo richiede che menzioni un nome di metodo. (Forse ho una classe con 10 metodi diversi che potrebbero essere chiamati).
Log.AssertWasNotCalled(x => x.LogAndReportException(null, null), x => x.IgnoreArguments());
+1 In generale sono d'accordo, in particolare quando si tratta di prove fragili. Tuttavia, questa potrebbe essere una richiesta valida. Immagina un'interfaccia con Method Injection. Poiché un metodo sull'interfaccia utilizza un parametro astratto iniettato, è necessario fornire qualcosa. Supponiamo ora di creare un'implementazione "nulla" di tale interfaccia e il requisito è che il parametro iniettato (che deve essere presente a causa dell'interfaccia) non venga mai utilizzato. Un po 'uno scenario di nicchia, lo ammetto, ma ancora rilevante :) –
@ Mark: sì, è un uso accettabile. Sapevo che c'era un caso angolare in cui poteva essere utile, non potevo inventarne uno. –
Non è un test unitario su una clausola di guardia un buon posto per assicurarsi che le dipendenze all'interno del metodo non vengano chiamate? Sto attualmente scrivendo un test unitario per questo scenario in cui voglio assicurarmi che la clausola di guardia funzioni come previsto e che il mock non venga mai chiamato. – Maslow