Ho ottenuto una classe utilizzando una factory per la creazione di alcuni oggetti. Nel mio test di unità vorrei accedere al valore di ritorno della fabbrica. Poiché la factory viene passata direttamente alla classe e non viene fornito alcun getter per l'oggetto creato, è necessario intercettare la restituzione dell'oggetto dalla fabbrica.Mockito + Spy: come ottenere i valori di ritorno
RealFactory factory = new RealFactory();
RealFactory spy = spy(factory);
TestedClass testedClass = new TestedClass(factory);
// At this point I would like to get a reference to the object created
// and returned by the factory.
Esiste la possibilità di accedere al valore di ritorno della fabbrica? Probabilmente stai usando la spia?
L'unico modo che posso vedere è prendere in giro la fabbrica di creare metodo di ...
saluti
Perché dovrebbe 'TestedClass' prendere in fabbrica come la dipendenza. Non dovrebbe semplicemente chiedere la classe effettiva creata dalla fabbrica. ? (Law of Demeter) –
Il 'TestedClass' è un componente OSGi. Un metodo del componente richiede ogni invocazione di un nuovo oggetto creato dalla fabbrica. Ho rifattorato la creazione dell'oggetto in una classe di fabbrica per fornire una migliore testabilità. Poiché l'oggetto creato viene inizializzato in base ai parametri del metodo, non è possibile passare semplicemente gli oggetti creati anziché quelli di fabbrica. –