以编程方式创建JUnit报告

时间:2011-12-05 06:53:18

标签: java ant junit

我现在的方法是来自我的应用程序,只需调用ant build,它将创建所需的junit报告,但我希望能够灵活地以编程方式编写junit报告。

我试过这种方法 Ant:create JUnit report task programmatically

FileSet fs = new FileSet();
fs.setDir(new File(".."));
fs.createInclude().setName("TEST-*.xml");
XMLResultAggregator aggregator = new XMLResultAggregator();
aggregator.addFileSet(fs);
AggregateTransformer transformer = aggregator.createReport();
transformer.setFormat(Format.FRAMES);
transformer.setTodir(new File("..");

但我甚至无法让它运行。还有更多想法吗?

1 个答案:

答案 0 :(得分:1)

您粘贴的代码相当于调用junitreport任务:

<junitreport todir="..">
<fileset dir="..">
<include name="TEST-*.xml" />
</Fileset>
<report format="frames" todir=".." />
</Junitreport>

您需要将其放入方法中并自行运行。此代码将采用名为TEST-*.xml的所有文件并使用它们创建报告。它将创建这些文件。这些文件由Ant中的junit任务创建。所以你需要:

  1. 以编程方式运行junit任务(请参阅JUnitTask (Apache Ant API)),确保在某个临时目录中创建TEST * .xml文件。
  2. 运行上面的代码,使用这些临时文件生成报告。
  3. 执行此操作的最简单方法可能是您已经完成的工作,在某处拥有build.xml,并直接调用ant。如果您使用的文件集稳定,那么这可能是最简单的方法。为此使用ProcessBuilder java类。