【发布时间】:2020-05-05 10:46:01
【问题描述】:
我需要达到 95% 的测试覆盖率(我的任务)。我在上课时遇到问题
public class Context {
public static <T> T getObject(Class<T> clazz) {
Object bean = null;
try {
bean = clazz.newInstance();
} catch (Exception e) {
e.printStackTrace();
}
return (T) bean;
}
private Context() {
}
}
要达到 95%,我需要检查 e.printStackTrace(); 是否在抛出异常时被调用。
我尝试了不同的方法,但它们都不起作用。我将不胜感激。
【问题讨论】:
-
检查是否返回 null。但是,老实说,您不想捕获该异常:只需将异常传播给调用者即可。
-
你目前的测试用例怎么样?
-
你不应该检查 e.printStackTrace();被调用。只需确保调用 clazz.newInstance() 时在您的测试用例中引发异常。
-
我同意@matrixguy。您不需要对 Java API 进行单元测试;这应该由实施团队(Oracle 等)完成。 printStackTrace() 是
java.lang包的一部分