在没有build.xml的情况下运行junit ant-task

时间:2012-07-11 11:44:22

标签: java deployment ant jar junit

我正在尝试研究如何在不需要build.xml的情况下运行ant任务。 特别是我想用格式化程序运行JUnit任务。在xml格式中,如下所示:

<junit printsummary="true" errorProperty="test.failed" failureProperty="test.failed">
    <classpath refid="run.class.path" />

    <!-- console log -->
    <formatter type="xml" classname="be.x.SFFormatter" />

    <test name="be.x.SF" outfile="result" todir="${build.output.dir}" />
</junit>

它在运行ant脚本时有效,但我想让我的应用程序作为一个可运行的jar运行。 从Java运行测试很简单:

    JUnitCore junit = new JUnitCore();
    testResult = junit.run(SeleniumFramework.class);

但是,我很难弄清楚如何让格式化器工作。 格式化程序的类型为org.apache.tools.ant.taskdefs.optional.junit.JUnitResultFormatter,所以我怀疑我可以在不运行ant的情况下将其插入某个地方。

以前有人做过类似的事吗? 谢谢!

2 个答案:

答案 0 :(得分:2)

Ant没有任何魔力。它所做的就是读取XML文件,创建其中指定的bean,然后根据Task API(org.apache.tools.ant.Task)执行这些方法。

所以你需要的是在你的代码中做同样的事情。不要忘记创建Project: - )

答案 1 :(得分:1)

您可以通过Groovy使用Ant来避免使用xml语法 见=&gt; Using Ant from Groovy了解详情。