我正在尝试研究如何在不需要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的情况下将其插入某个地方。
以前有人做过类似的事吗? 谢谢!
答案 0 :(得分:2)
Ant没有任何魔力。它所做的就是读取XML文件,创建其中指定的bean,然后根据Task API(org.apache.tools.ant.Task
)执行这些方法。
所以你需要的是在你的代码中做同样的事情。不要忘记创建Project
: - )
答案 1 :(得分:1)
您可以通过Groovy使用Ant来避免使用xml语法 见=&gt; Using Ant from Groovy了解详情。