目前在生产代码中,我有这样的功能
public void doWork() {
... call functionA
... call functionB
... do other work
}
我必须测试一个在 doWork() 中调用函数 A 后需要暂停的情况。而且我没有办法暂停测试框架
所以我把生产改成了
public void doWork() {
doWork(new CountdownLatch(0))
}
public void doWork(CountdownLatch latch) {
... call functionA with a latch and functionA calls latch.await()
... call functionB
... do other work
}
现在,我可以创建一个测试用例并测试doWork(new CountdownLatch(1))
但在生产中,它总是在调用,而调用又在调用doWork()doWork(new CountdownLatch(0))
这种不必要的开销只是为了能够使代码可测试吗?或者这是可以接受的吗?
POPMUISE
相关分类