java - 以编程方式创建 junit 报告

标签 java xml ant junit report

我想使用 ant 以编程方式创建 junit 报告。我已经看到这个问题之前在这里被问过:Ant:create JUnit report task programmatically在这里:Creating JUnit report programmatically .我的代码略有不同,我不知道所有这些东西都去了哪里。 我的代码:

<?xml version="1.0" encoding="UTF-8"?>
<project name="myproject" default="junitreport" basedir=".">
    <target name="junitreport">
        <junitreport todir="./testreport">
            <fileset dir="./junitreports">
                <include name="*.xml"/>
            </fileset>
            <report format="noframes" todir="./testreport"/>
        </junitreport>
    </target>
</project>

源代码:

FileSet fs = new FileSet();
fs.setDir(new File("./junitreports"));
fs.createInclude().setName("*.xml");
XMLResultAggregator aggregator = new XMLResultAggregator();
aggregator.addFileSet(fs);
AggregateTransformer transformer = aggregator.createReport();
transformer.setTodir(new File("./testreport"));

预先感谢您的帮助。

最佳答案

您已经配置了 junitreport ant 任务,但您还应该执行它。

Project project = new Project();
project.setName("myproject");
project.init();

Target target = new Target();
target.setName("junitreport");
project.addTarget(target);

FileSet fs = new FileSet();
fs.setDir(new File("./junitreports"));
fs.createInclude().setName("*.xml");
XMLResultAggregator aggregator = new XMLResultAggregator();
aggregator.setProject(project);
aggregator.addFileSet(fs);
AggregateTransformer transformer = aggregator.createReport();
transformer.setTodir(new File("./testreport"));

target.addTask(aggregator);
project.executeTarget("junitreport");

关于java - 以编程方式创建 junit 报告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12052493/

相关文章:

java - git addfilepattern 无法读取我的目录路径

java - 无法让我的 DialogFragment 背景透明

java - Primefaces,如何用另一个按钮折叠布局单元?

java - Java 中的未命名包部分属于哪个模块?

java - IntelliJ IDEA 调试器中变量面板中变量描述的解释是什么?

xml - R 上包 ‘XML’ 的编译失败

android - 工具栏与布局中的其他小部件重叠

java - 无法创建 javaDoc

c# - 使用 Linq 从 xml 文件中读取值

ant - Jenkins:具有多个颠覆模块的单一作业