我正在为一个类编写单元测试,该类具有阻止执行方法的锁存器。类结构是这样的:
class Sample {
private CountDownLatch latch;
public void execute(String data) {
latch = new CountDownLatch(1);
// business logic
latch.await();
}
public void onSuccess(String data) {
if (latch != null) {
latch.countDown();
}
}
}
为了测试execute方法,我为所有依赖项添加了mock,但由于latch在execute方法中初始化,我无法模拟它。 所以要为此编写单元测试,我是否需要在测试中生成一个新线程来调用latch上的倒计时,还是有其他方法来测试它?