2012-09-17 30 views
5

Voglio prendere in giro una classe usando il framework Mockito, che ha un paio di argomenti del costruttore.Come passare gli argomenti del costruttore usando Mockito

Come potrei passare al superamento degli argomenti del costruttore senza generare setter per le variabili dei membri privati?

Grazie

+2

Se stai prendendo in giro un collaboratore, perché ti interessa come è stato costruito? Hai solo bisogno di definire come interagisce con la classe sotto test. – millhouse

+0

@millhouse Un metodo membro che non voglio simulare fa uso di quelle variabili membro. – Dante

+1

Se collaudi un'unità in una classe, allora prendi in giro i collaboratori come ha detto @millhouse. Altrimenti vuoi creare una simulazione parziale del tuo collaboratore, il che nel tuo caso non ha molto senso. Ad ogni modo se hai qualche frammento di codice per dimostrarlo potrebbe aiutarti. – Brice

risposta

4

hai detto che vuole prendere in giro alcuni, ma non tutti i metodi. Non sono sicuro del perché tu voglia fare questo - se la tua classe è un collaboratore, allora avrebbe senso prendere in giro l'intera classe. O se è il SUT, probabilmente non vuoi affatto deriderlo.

È possibile che quello che stai cercando sia un spy, piuttosto che una simulazione. Se decidi di usare una spia, la farai da un oggetto reale, che è già stato costruito usando gli argomenti di cui hai bisogno per essere costruito.

Ma prima di considerare l'utilizzo di una spia, vi esorto a pensare più attentamente su esattamente che cosa è che si sta testando, e perché pensi di aver bisogno di sostituire alcuni dei vostri metodi con le implementazioni di finte, ma non altri.

Problemi correlati