【发布时间】:2019-09-23 19:37:48
【问题描述】:
我有一个需要模拟消费者参数的测试场景。
在下面的代码中,startTracer 是要测试的方法。
class TracerService {
private TracerController tracerController;
public void startTracer(String tracerName, Object param1) {
if (attendStartConditions(tracerName, param1)) {
executeOnTracerControllerScope(tracerController -> tracerController.startTracer(param1));
}
}
...
}
基本上,我想测试tracerController.startTracer(param1) 是否接收param1 作为参数。
Capture<Object> method1Param1 = newCapture();
tracerController.startTracer(capture(method1Param1));
expectLastCall().once();
...
tracerService.startTracer("TEST", "value1");
assertThat(method1Param1.getValue()).isEqualsTo("value1");
如何在不调用其内部代码的情况下为 executeOnTracerControllerScope 执行 tracerController.startTracer 配置 EasyMock/PowerMock?
【问题讨论】: