0
我有一個集成器類,我需要測試,類構造函數實例化服務客戶端。由於服務客戶端是外部依賴項,我想測試集成者的個人責任。代碼看起來像這樣。什麼是模擬JUnit構造函數的最佳方法?
public class Integrator {
Client client;
public Integrator() {
client = new RemoteClient();
}
public String invokeClient() {
....
}
}
什麼可以是最好的方法來嘲笑這?另外,我需要確保代碼覆蓋率。
有集成商和客戶之間相當緊密的耦合,因爲依賴反轉,上一級已經照顧。 –
有多層次的依賴倒置沒有什麼壞處。另外,它聽起來像你需要稍微鬆散的耦合,所以你可以嘲笑它。 – dkatzel
我會描述這個問題,集成商通過DI挑選客戶,現在每個客戶都與其服務提供商緊密耦合。所示的例子並不合適,它表明我們正在選擇一個可以使用DI的客戶端,但正如我們所說的,我們首先使用DI接入客戶端,然後在緊密耦合的客戶端中接入服務提供商。現在再次出現一個DI,會迫使集成商選擇一個客戶端,並指定服務提供商,這是沒有意義的。 –