【发布时间】:2016-01-23 21:17:29
【问题描述】:
我有以下方法,我正在努力获得 100% 的代码覆盖率。
public final class SleepingHelper {
public static void sleepInMillis(Duration timeOfNextTry) {
try {
Thread.sleep(timeOfNextTry.toMillis());
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
问题是如何强制Thread.sleep 抛出异常?
编辑:因为它被标记为重复,我仍然想知道我会在测试中断言什么?另一个问题更笼统。
【问题讨论】:
-
专注于 100% 的覆盖率是一种妄想。除了增加覆盖率之外,测试此方法不会为您提供任何进一步的补充。测试这种方法的目的是什么?除了 Thread.sleep 正在工作之外,没有其他的。很明显,由于您对断言这是您不想编写的测试的问题!
-
我同意,但我正在开展一个我们强制 100% 代码覆盖率的项目。
-
如果这是项目义务,我将创建一个没有任何断言的测试 - 你得到 100% 并且测试不会失败......或
AssertEquals(true, true)。 -
有道理。我会做这样的事情。