【发布时间】:2021-05-02 10:03:50
【问题描述】:
我正在尝试为以下代码编写 JUnit,但我不知道如何覆盖 catch 块语句中编写的代码。请任何人都可以为下面的代码编写一个示例 JUnit 吗?
这里我不想涵盖任何异常,因为这个块从不抛出任何异常,但我想涵盖使用 Mockito 在 catch 块中编写的代码行。基本上,在这种情况下,catch 块是无法访问的。
public void someMethod(Activity activity) {
try {
Log.d("TAG", "Print: " + activity);
} catch (Throwable e) {
e.printStackTrace();
}
}
【问题讨论】:
-
欢迎来到 Stack Overflow。请通过tour 了解 Stack Overflow 的工作原理,并阅读How to Ask 以了解如何提高问题的质量。然后edit你的问题包括你拥有的完整源代码作为minimal reproducible example,其他人可以编译和测试。请显示您尝试过的尝试以及您从尝试中得到的问题/错误消息。
-
您认为
activity的什么值会导致对Log.d的调用失败? -
如果 catch 块真的无法访问,为什么它会在那里,为什么要覆盖它,因为它永远不会被执行?此外,如果由于无法访问而无法运行,您希望如何覆盖它?
标签: java junit mockito code-coverage test-coverage