从测试用例输出中分离JUnit标准输出

从测试用例输出中分离JUnit标准输出,junit,stdout,stderr,Junit,Stdout,Stderr,有没有一种方法可以以编程方式运行JUnit,让我可以为JUnit框架本身的所有输出传递自定义PrintStream,并为测试用例保留标准输出 我看到JUnit内部正在使用JUnitSystem和TextListener来实现这一点,但我看不到在不修改或扩展JUnitCore的情况下使用它的预期入口点 有人知道如何实现这一点吗?我不认为JUnitCore和下面使用的类会将任何内容打印出来。值得注意的例外是JUnitCore.main,但这只是直接命令行执行的主要方法。相反,您应该使用run或run

有没有一种方法可以以编程方式运行JUnit,让我可以为JUnit框架本身的所有输出传递自定义PrintStream,并为测试用例保留标准输出

我看到JUnit内部正在使用JUnitSystem和TextListener来实现这一点,但我看不到在不修改或扩展JUnitCore的情况下使用它的预期入口点


有人知道如何实现这一点吗?

我不认为
JUnitCore
和下面使用的类会将任何内容打印出来。值得注意的例外是
JUnitCore.main
,但这只是直接命令行执行的主要方法。相反,您应该使用
run
runClasses
方法之一。然后,您自己的
RunListener
可以输出它想要的任何内容。

我认为
JUnitCore
和下面使用的类不会将任何内容打印出来。值得注意的例外是
JUnitCore.main
,但这只是直接命令行执行的主要方法。相反,您应该使用
run
runClasses
方法之一。然后,您自己的
RunListener
可以输出它想要的任何内容。

JUnit提供的是什么输出导致了您的问题?实际上是另一种情况,正在测试的代码导致了我的问题。:)JUnit提供的什么输出会给您带来问题?实际上,反过来说,正在测试的代码会给我带来问题。:)