单元测试循环已运行特定次数



假设我有一个看起来像这样的方法

static void forLoop(){
for (int j = 0; j < 10; j++) {
System.out.println(j);
}
}

如果我要编写一个单元测试来检查 for 循环是否运行了 10 次。可以这样做吗?

我在一次采访中被问到这个问题。

您可以使用System.setOut将输出重定向到其他PrintStream(例如 ByteArrayOutputStream(,调用该方法,然后检查PrintStream的内容。

到那时,正如@Andy Turner在评论中指出的那样,您需要确保您的测试不会彼此并行运行,也不会与可能写入System.out的任何其他内容并行运行。

(我认为这是一个糟糕的面试问题。

最新更新