假设我有三个包,每个包有3个类。反过来,每个类都有3个@test方法,优先级从1到3。
我想从每个包中运行一个类文件。当我使用标签时,优先级= 1全部先执行。 我希望逐个类地运行测试,然后先说出class1的所有3个测试方法先执行,然后选择class2方法。我们怎样才能做到这一点?
我的当前订单运行所有优先级=首先是所有类的1个测试方法..
<test name="ClassTest" group-by-instances="true">
<packages>
<package name="com.presetup" />
<package name="com.javahelper" />
</packages>
<classes>
<class name="com.package1.class1" />
<class name="com.package2.class2" />
<class name="com.package3.class3" />
</classes>
</test>
更新 解决方法我发现:
每个类都有不同的测试标记,因此每个类将一个接一个地运行
<test name="1" group-by-instances="true">
<packages>
<package name="com.required" />
<classes>
<class name="com.package1.class1" />
</classes>
>
</packages>
</test>
<test name="2">
<packages>
<package name="com.required" />
<classes>
<class name="com.package2.class2" />
</classes>
>
</packages>
</test>
答案 0 :(得分:0)
请在preserve-order="true"
标记中添加<test>
属性,然后重试。这基本上可以帮助您保留指定的测试顺序。
我想从每个包中运行一个类文件
据我所知,使用TestNG可以不。您不能在给定时间点在多个包之间切换testng,从包中选择一个类并运行它们。为此,您需要使用TestNG API,其中您实例化TestNG
对象,并通过代码,您需要读取包中的所有类,然后编写代码来执行此操作。没有任何东西可以满足这个开箱即用的问题。