首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当以“优先级”并行执行时,TestNG问题

当以“优先级”并行执行时,TestNG问题
EN

Stack Overflow用户
提问于 2016-10-21 02:16:00
回答 1查看 2K关注 0票数 2

我有两个班。

第1类:

代码语言:javascript
复制
@Test
public void test1(){
    System.out.println("test1-1");
}

@Test(priority = 1)
public void test2(){
    System.out.println("test2-1");
}

@Test(priority = 6)
public void test3(){
    System.out.println("test3-1");
}

@Test(priority = 9)
public void test4(){
    System.out.println("test4-1");
}

第2类:

代码语言:javascript
复制
@Test
public void test1(){
    System.out.println("test1-2");
}

@Test(priority = 1)
public void test2(){
    System.out.println("test2-2");
}

@Test(priority = 2)
public void test3(){
    System.out.println("test3-2");
}

@Test(priority = 3)
public void test4(){
    System.out.println("test4-2");
}

XML:

代码语言:javascript
复制
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >

<suite name="Smoke" verbose="1" parallel="tests" thread-count="5" >
    <test name="GalaxyS7">
        <classes>
            <class name="TempTest.ClassTest1"/>
            <class name="TempTest.ClassTest2"/>
        </classes>
    </test>
</suite>

当我执行测试时,预期的输出是:

测试1-1 测试2-1 测试3-1 测试4-1 测试1-2 测试2-2 测试3-2 测试4-2

但实际产出是:

测试1-1 测试1-2 测试2-1 测试2-2 测试3-2 测试4-2 测试3-1 测试4-1

但是当我移除parallel="tests"时,执行就像预期的那样。当我移除优先级,但parallel="tests"停留在XML中时,正如我所期望的那样。但是我正在尝试并行运行我的测试,并且在那里也有优先级。

是TestNG中的一个bug,还是我遗漏了什么?

任何帮助都是非常感谢的。我的目标是运行所有的测试用例从第一类,然后从第二类。

EN

回答 1

Stack Overflow用户

发布于 2016-10-21 03:41:34

正如我所能告诉您的,您似乎期望在并行模式运行时,对象的每个实例都有它自己的一组priorities,而您的测试套件将优先级作为全局变量来处理,当优先级相等时,它处理的是自顶向下的问题(TempTest.ClassTest1,然后是TempTest.ClassTest2)。

tl;dr:

priority在全局范围内使用,而不是在实例上使用。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40167328

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档