<target name="testng-single" depends="compile-test" description="Run individual testng test" >
<testng failureproperty="test.failed" haltonfailure="yes" outputDir="src/testng/test-output" workingDir="." >
<classpath refid="classpath.test" />
<classpath refid="classpath.groovy" />
<classpath location="${build}"/>
<classpath location="src/testng"/>
<classfileset dir="src/testng" includesfile="${test.class}" />
</testng>
<fail message="Tests failed!" if="test.failed"/>
</target>
以下是我的行动:
<action name="test.single">
<script>build.xml</script>
<target>testng-single</target>
<context>
<property>test.class</property>
<folder>src/testng</folder>
<pattern>\.java$</pattern>
<format>java-name</format>
<arity>
<one-file-only/>
</arity>
</context>
</action>
我可以右键单击一个测试文件并选择test file,但当它运行时,它找不到该类。我在以下方面看到了错误:
Includesfile D:\javamarket\ftharness\com.javamarket.testng.donothing.DoNothingTest not found.
Ftharness是我的项目的顶级目录,而src/TestNG是下面包含TestNG测试的目录。我尝试过各种改变都没有成功。有人能帮忙吗?
如果这有助于任何想解决同样问题的人:我按以下方式解决了这个问题。不是很棒,但似乎很管用。
本质上,我使用TestNG的能力将测试定义作为XML文件使用。我按照以下思路创建了一个ant目标:
<target name="testng-single" depends="compile-test" description="Run individual testng test" >
<copy file="${tst.dir}/TestSingle.xml" overwrite="true" tofile="${tst.dir}/TempTestSingle.xml" >
<filterset>
<filter token="CLASS" value="${test.class}"/>
</filterset>
</copy>
<testng failureproperty="test.failed" haltonfailure="yes" outputDir="src/testng/test-output" suitename="TestNG Suite" testname="TestNG Name" workingDir="." >
<classpath refid="classpath.test" />
<classpath refid="classpath.groovy" />
<classpath location="${build}"/>
<classpath location="src/testng"/>
<xmlfileset dir="${tst.dir}" includes="TempTestSingle.xml" />
</testng>
<fail message="Tests failed!" if="test.failed"/>
</target>
向project.xml文件添加了以下内容:
<action name="test.single">
<script>build.xml</script>
<target>testng-single</target>
<context>
<property>test.class</property>
<folder>src/testng</folder>
<pattern>\.java$</pattern>
<format>java-name</format>
<arity>
<one-file-only/>
</arity>
</context>
</action>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
<suite name="Single Method Suite">
<test name="Single Method Test">
<classes>
<class name="@CLASS@">
<methods>
<include name=".*" />
</methods>
</class>
</classes>
</test>
</suite>
我试图使用XML和TestNG运行一个测试套件,但是我总是同时使用Eclipse和命令行得到相同的消息: 该文件已正确读取,但测试似乎没有运行。 以下是我的testng.xml的内容: 这是我的目录结构在Eclipse中的样子: 此外,这也是我试图通过命令行运行测试套件的方式: 我尝试过通过eclipse清理项目,但似乎没有帮助。我也试过跑步: < code>mvn clean,但它也没有完成工作
我试图用TestNG并行运行一个示例测试项目。但它是在一个线程中顺序执行的。我漏掉什么了吗? 谢了。
共设5个测试班。每一个都使用@Factory(dataprovider=“data”)初始化。我想实现的是,每个测试类中的测试方法应该与dataprovider实例并行运行。此外,测试类应该并行运行。 如下所示。TestClass1应该并行运行dataprovider实例。因此,测试类TestClass1的所有方法将为dataprovider实例并行运行。 data-provider-thread
我需要在一次测试中执行所有3个类,并满足以下要求: > 仅从Class1执行test1和test3。 仅从Class2执行test2。 执行Class3中的所有测试。 2类 3类 为此,我使用了以下testNg xml,但无论我是否包含该组,都将执行Class 1和Class 3中的所有测试。 如果我希望执行上述类文件,请建议TestNg xml文件的正确语法。
请让我知道是否可以通过TestNG运行并行套件?