【发布时间】:2017-06-20 16:23:03
【问题描述】:
在我的代码中,我有一个 try-finally 方法。我不想 finally 阻止我的单元测试。我可以在我的类中模拟整个 finally 块吗,因为在我的情况下它只是记录?我正在使用 PowerMockito用于我的单元测试。
try {
String foo = obj.myMethod();
} finally {
logger.info(obj.webService());
}
【问题讨论】:
-
为什么在测试时记录问题?
-
为什么要模拟一个块。您只能模拟对象,不能模拟块或循环。
-
为什么不只是模拟记录器?
-
@alfasin 因为我在调用我的 web 服务时遇到空指针异常,并且在返回期间我不希望我的 web 服务有任何值。
-
您应该注入一个模拟
obj并可能为obj.webService()创建一个期望。在生产中,代码将调用obj.webService(),因此在您的测试中您也应该这样做。
标签: java unit-testing junit powermockito