如何使用java执行ant并捕获输出?

Iso*_*Iso 5 java eclipse ant junit

我有一个ant构建文件,其中包含我想要执行的JUnit测试套件.目前我只需右键单击并运行Eclipse中的构建文件.

我想编写一个可以自动执行ant构建文件的java代码.所以我只运行代码并执行ant.

其次是我想捕获测试结果.目前,结果基于JUnit HTML报告.我想制作自己的简单测试报告.我读到有JUnitResultFormatter,但我找不到一步一步的指导如何使用它.谁能指点我的参考?

ton*_*nio 3

最简单的方法是使用JunitCorejava 中的类。不建议main直接从 ant 调用,请参阅 Junit Faqhttp://www.answerspice.com/c119/1497833/how-do-i-run-junit-tests-from-inside-my-java -应用

为每个测试用例定义这样的 main 是很常见的,以便能够从命令行单独运行测试。我通常还会更改这些方法中的日志记录设置,以便在手动运行单个测试时获得比从 ant 内部运行更多的信息。


为了创建自定义报告,您必须实现RunListener创建报告的方法,并注册它,如 javadoc 中所述:

public void main(String... args) {
  JUnitCore core= new JUnitCore();
  core.addListener(new RingingListener());
  core.run(MyTestClass.class);
}
Run Code Online (Sandbox Code Playgroud)

然后,您的侦听器将在每次测试运行之前和之后被调用,并传递有关即将运行的测试的描述性信息,以及测试完成后如何进行。