我想为我写的ANT任务写一个测试。这是一个pseude代码示例,我想象结果将是什么样的(它测试已存在于ant中的任务“属性”。在我的情况下,它显然是我的自定义任务而不是“属性”):
// setup
AntEnvironemt env = AntEnvironment.create(
"<project name=\"test\">" +
" <target name=\"test\">" +
" <property name=\"foo\" value=\"bar\"/>" +
" </target>" +
"</project>");
// execution
env.runTarget("test");
//evaluation
assertEquals(env.getProperty("foo"), "bar");
这样的事情怎么办?
答案 0 :(得分:0)
看看AntUnit。它允许对Ant任务进行更高级别的测试:
<target name="testNoNestedTextButValueAttribute">
<property name="foo" value="bar">
</property>
<au:assertPropertyEquals name="foo" value="bar"/>
</target>
<target name="testNestedTextAndValueAttribute">
<au:expectfailure>
<property name="foo" value="bar">
hello
</property>
</au:expectfailure>
</target>
以上示例可在文件apache-ant-1.9.3/src/tests/antunit/taskdefs/property-test.xml
中的Ant 1.9.3 source distribution中找到。