我得到了以下testng.xml和build.xml:
<suite name="My test suite" preserve-order="true">
<parameter name="a" value="abcd"/>
<parameter name="b" value="efgh"/>
<test name="testing">
<classes>
<class name="test.First"/>
<class name="test.Second">
<methods>
<exclude name="method1"/>
</methods>
</class>
<class name="test.Third"/>
<class name="test.Forth">
<methods>
<exclude name="method3"/>
</methods>
</class>
<class name="test.Fifth"/>
<class name="test.Sixth"/>
</classes>
如果我在IDE中执行testng.xml,则按顺序调用类:First,Second,...,Sixth 但是,如果我使用ANT运行以下build.xml,则会以错误的顺序调用类:第六,第四,第五,第二,第三,第一。订单改变了。我认为使用TestNG这不应该发生吗?
的build.xml:
<project basedir="." default="build" name="Dummy">
<property environment="env"/>
<property name="ECLIPSE_HOME" value="MyEclipse"/>
<property name="debuglevel" value="source,lines,vars"/>
<property name="target" value="1.6"/>
<property name="source" value="1.6"/>
<path id="classpath">
<pathelement location="bin"/>
<pathelement location="../selenium-server-standalone-2.10.0.jar"/>
<pathelement location="testng.jar"/>
</path>
<target name="init">
<mkdir dir="bin"/>
<copy includeemptydirs="false" todir="bin">
<fileset dir="src">
<exclude name="**/*.launch"/>
<exclude name="**/*.java"/>
</fileset>
</copy>
</target>
<target name="clean">
<delete dir="bin"/>
</target>
<target depends="clean" name="cleanall"/>
<target depends="init" name="build">
<echo message="${ant.project.name}: ${ant.file}"/>
<javac debug="true" debuglevel="${debuglevel}" destdir="bin" source="${source}" target="${target}" encoding="iso-8859-1">
<src path="src"/>
<classpath refid="classpath"/>
</javac>
</target>
<taskdef name="testng"
classname="org.testng.TestNGAntTask"
classpathref="classpath"/>
<target name="test" depends="build">
<echo message="running tests"/>
<testng classpathref="classpath" outputdir="testng_output">
<xmlfileset dir="bin" includes="testng.xml"/>
</testng>
</target>
为什么订单错了?
我很感激帮助。
答案 0 :(得分:2)
您可能正在使用两个不同版本的testng,一个包含在Eclipse插件中,另一个包含在类路径中。在preserve-order属性上有一个错误(http://code.google.com/p/testng/source/detail?r=966),可能是您在类路径中有错误的版本。尝试更新build.xml脚本引用的testng版本