2016-11-28 21 views
-1

У меня есть метод, который вызывается службой с реализацией Callable. Тем не менее, я не знаю, как издеваться над этой реализацией в моем тестовом коде, потому что Callable реализована с помощью выражения лямбда на лету. Есть ли способ достичь этого?Как издеваться над реализацией интерфейса внутри метода?

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

ответ

0

Нет, вы не можете (не делая ужасных отражений). Макет должен быть введен каким-то образом.

Для этого вам потребуется рефакторинг.