我现在的方法是来自我的应用程序,只需调用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("..");
但我甚至无法让它运行。还有更多想法吗?
答案 0 :(得分:1)
您粘贴的代码相当于调用junitreport任务:
<junitreport todir="..">
<fileset dir="..">
<include name="TEST-*.xml" />
</Fileset>
<report format="frames" todir=".." />
</Junitreport>
您需要将其放入方法中并自行运行。此代码将采用名为TEST-*.xml
的所有文件并使用它们创建报告。它将不创建这些文件。这些文件由Ant中的junit任务创建。所以你需要:
执行此操作的最简单方法可能是您已经完成的工作,在某处拥有build.xml
,并直接调用ant。如果您使用的文件集稳定,那么这可能是最简单的方法。为此使用ProcessBuilder java类。