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

时间:2010-05-24 06:27:08

标签: java eclipse ant junit

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

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

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

1 个答案:

答案 0 :(得分:3)

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

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


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

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

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