我想使用JUnit 4's JUnitCore通过脚本运行一些单元测试。
该脚本非常简单:

java -cp "bin:lib/*" org.junit.runner.JUnitCore my.Tests


“问题”是我想处理测试的输出(写入stdout和stderr),运行程序本身将输出添加到stdout(每次测试后都像单个“。”(点))。

有没有办法防止跑步者的输出(即,安静的JUnitCore的默认输出)?过滤这些点有点烦人。

最佳答案

查看JUnitCore,您可以编写自己的主包装器,该包装器仅使用另一个JUnitSystem并从runMain调用JUnitCore,例如:

Result result = new JUnitCore().runMain(new NoopPrintStreamSystem(), args);
System.exit(result.wasSuccessful() ? 0 : 1);


然后,您可以根据自己的需要实施NoopPrintStreamSystem,例如PrintStream什么也不做。

08-28 10:38