我得到了一個使用工廠創建某個對象的類。 在我的單元測試中,我想訪問工廠的返回值。 由於工廠直接傳遞給類,並且沒有爲創建的對象提供getter,所以我需要攔截從工廠返回的對象。Mockito + Spy:如何收集返回值
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.
是否有可能訪問工廠的返回值?可能使用間諜?
我能看到的唯一方法是嘲笑工廠創建方法......
問候
爲什麼'TestedClass'採取的這個工廠的依賴。它不應該只是要求工廠創建的實際班級。 ?(Demeter法) –
'TestedClass'是一個OSGi組件。組件的一個方法需要每個調用一個由工廠創建的新對象。我將對象創建重構爲工廠類以提供更好的可測試性。由於創建的對象根據方法參數進行了初始化,因此無法簡單地傳入創建的對象而不是工廠。 –