【问题标题】:How to mock an interface implementation inside a method?如何在方法中模拟接口实现?
【发布时间】:2016-11-28 01:23:41
【问题描述】:

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

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

【问题讨论】:

    标签: junit powermock easymock


    【解决方案1】:

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

    所以你需要重构。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多