2015-08-21 57 views
2

說類A依賴於B測試,並且我想測試類A.噴吹嘲笑使用Dagger2

我創建用於類A的測試中,我想嘲笑B.

B類使用Dagger2(使用模塊和組件)注入到A類中。意思是,A類有一個類成員:

@Inject 
B mB; 

在我的測試類中,我在setUp()方法中創建了一個A實例。

如何向A提供B類的模擬實例?

回答

0

如果您通常使用Dagger注入依賴項,則需要使用模擬構建風格來提供模擬實現。通常這是通過用MockModule替換類似ProdModule的東西來完成的,然後@提供一個模擬實現,而不是模擬或測試風格。

否則,一個好的測試選項是Mockito,如果你想保證你的模擬返回你想要的,所以你不必擔心模擬實現有一個錯誤。

+0

我不明白如何建立口味可以幫助我在這裏。我是否需要在主代碼和測試文件夾中爲每個具有我想測試的依賴性的類添加一個模塊和一個組件? – dors