Ant 中的<pathelement>属性“path”和“location”之间有什么区别?
我在TestNG中运行Selenium单元测试,使用Ant Java任务,如下所示:
<java classpathref="runtime.classpath"
classname="org.testng.TestNG"
failonerror="false">
<arg value="-d" />
<arg value="${grid.location}/target/reports" />
<arg value="${lib.location}/testng.xml"/>
</java>
runtime.classpath
是一个路径结构,它包括 ,我认为这是让 TestNG 知道要运行哪些类所必需的。<pathelement path="${basedir}/target/classes/" />
<path id="runtime.classpath">
...
<!-- Target classes -->
<pathelement path="${basedir}/target/classes/" />
</path>
但是,我一直在日志中看到TestNG找到了0个适用的类。
我最终从一位同事那里得到了一些帮助,这似乎是关键的变化:
<path id="runtime.classpath">
...
<!-- path attribute changed to location -->
<pathelement location="${basedir}/target/classes/" />
</path>
这也正确地拉入了测试类:
<java classpathref="runtime.classpath"
classname="org.testng.TestNG"
failonerror="false">
<arg value="-d" />
<arg value="${grid.location}/target/reports" />
<arg value="${lib.location}/testng.xml"/>
<classpath>
<pathelement location="${basedir}/target/classes/" />
</classpath>
</java>
和 属性之间有什么区别?我已经看过编写一个简单的构建文件(特别是类似路径的结构部分),但是在那本手册中,它看起来比.从经验上讲,情况似乎并非如此,但我不能完全弄清楚为什么。path
location
location
path