2009-03-28 17 views

risposta

9

VerifyAll e Verify vengono utilizzati per verificare che alcuni metodi siano stati chiamati (e possibilmente verificare i parametri con cui sono stati chiamati). Questo è considerato un "test basato sull'interazione" e viene utilizzato quando si desidera verificare che il sistema sotto test chiami un metodo su una delle sue dipendenze.

Assert normalmente significa che si desidera assicurarsi che il valore restituito abbia il valore corretto. Le asserzioni vengono utilizzate per quello che viene chiamato "test basato sullo stato", che essenzialmente verifica lo stato del sistema sotto test dopo che è stato applicato.

verifyall, check out this.

Inoltre, differenziare Mock and Stub.

3

Credo che VerifyAll appartenga allo stile più vecchio di utilizzo di RhinoMocks, dove si avrebbe una fase di registrazione e una fase di riproduzione, dopo la quale si verificheranno tutte le aspettative. In questo modello, durante la fase di registrazione, si imposta un'aspettativa (ad esempio, si aspetta che questo metodo venga chiamato con i parametri x, yez, ecc.).

Le versioni più recenti di RhinoMocks introducono la sintassi Arrange-Act-Assert (AAA) come schema preferito; Usando questo modello, ha più senso usare Assertion alla fine del tuo metodo di test. È ancora possibile utilizzare VerifyAllExpectations(), ma personalmente penso che risulti più semplice se tutte le asserzioni si verificano in un blocco alla fine del test.

Quindi immagino che la risposta (almeno a me) sia che si tratti di preferenze personali; Vedere il link sopra dove ha diversi esempi dello stesso test e scegliere quello che si legge meglio per voi.

Problemi correlati