如何模拟方法中的接口实现?

时间:2016-11-28 01:23:42

标签: junit powermock easymock

我有一个方法可以使用Callable实现调用服务。但是,我不知道如何在我的测试代码中模拟这个实现,因为Callable是动态实现的lambda表达式。有什么方法可以实现这个目标吗?

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

1 个答案:

答案 0 :(得分:0)

不,你不能(没有做可怕的反思黑客攻击)。必须以某种方式注入模拟。

所以你需要重构。