java - 有没有办法禁用 org.junit.runner.JUnitCore 的标准输出?

标签 java bash unit-testing junit junit4

我想使用 JUnit 4's JUnitCore 通过脚本运行一些单元测试. 脚本相当简单:

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

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

有没有办法阻止运行器的输出(即安静 JUnitCore 的默认输出)?过滤这些点有点烦人。

最佳答案

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

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

然后您可以根据需要实现 NoopPrintStreamSystem,例如使用 PrintStream 什么都不做。

关于java - 有没有办法禁用 org.junit.runner.JUnitCore 的标准输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41261889/

相关文章:

Python unittest正确设置全局变量

java - 使用java中变量传递的名称创建一个模式

linux - 在Bash中,Kill后台函数不会杀死内部进程,为什么它们有不同的pid?

linux - Bash 脚本 - 浮点异常

regex - Bash 正则表达式检查字符串的第一个字符是否为数字

android - 单元测试 Bolts Tasks With Continuations (Android)

c# - 当事件触发时执行类上的 void 方法的单元测试

java - 我的 MainActivity.java 无缘无故出现错误

java - IntelliJ 中基于目录的项目

java - 如何为所有子类定义构造函数