2016-11-28 78 views
-1

我有一個方法可以調用具有Callable實現的服務。然而,我不知道如何在我的測試代碼中模擬這個實現,因爲Callable是在運行時用lambda表達式實現的。有什麼辦法可以做到這一點?如何模擬一個方法內的接口實現?

protected Foo(){ 
    final Callable<MyResponse> myTask =() -> { 
     MyRequest myRequest = new MyRequest(); 
     Mycliet.call(myRequest); 
    } 
    Future<MyResponse> myResponse = executor.submit(myTask); 
    } 
} 

回答

0

不,你不能(沒有做可怕的反省黑客)。模擬必須以某種方式注入。

所以你需要重構。

相關問題