为什么在TestNG中此测试的执行顺序如此?

德曼·班达卡

以下是代码:

public class Class2 {

    @Test()
    public void a() {
        System.out.println("a");    
    }
    @Test(dependsOnMethods= {"d"})
    public void b() {
        System.out.println("b");    
    }
    @Test
    public void c() {
        System.out.println("c");    
    }
    @Test
    public void d() {
        System.out.println("d");    
    }
    @Test
    public void e() {
        System.out.println("e");    
    }
}

输出为:

c
d
e
a
b

a)为什么执行顺序如此?b)为什么即使我没有为其指定任何dependsOn参数,也要在e()之后执行a()?

理想情况下,它将按照a,c,d,b,e的顺序执行。有人可以解释其背后的逻辑吗?

罗德里戈·瓦蒙德(Rodrigo Vaamonde)

与JUnit一样,TestNG在默认执行中遵循几乎随机执行的顺序(至少是不可预测的),从而使每个测试彼此独立。

TestNG引入了测试依赖关系和测试优先级(JUnit5中也引入了第二个)。这样,您可以设置自己的订单。

依赖关系将确保在依赖的方法之前没有依赖于另一个方法的方法运行(即,它将确保“ b”在“ d”之前运行)并且仅依赖于该方法。其余的将遵循我上面描述的相同概念。

优先级将为您的测试提供ALMOST实际顺序,并指定您要首先运行的顺序。为什么是“差不多”?原因是,如果测试B的优先级为1,而测试D的优先级为2,则D仍将首先运行,因为B对其具有依赖性,否则它将失败。

我希望这能回答您的问题。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么在c中以如此奇怪的顺序执行代码?

来自分类Dev

为什么按此顺序执行线程?

来自分类Dev

为什么此代码按顺序执行?

来自分类Dev

调用方法的顺序-在此示例中为什么如此重要?

来自分类Dev

在TestNG中执行测试

来自分类Dev

什么在TestNG中控制组测试的顺序?

来自分类Dev

什么在TestNG中控制组测试的顺序?

来自分类Dev

为什么此Javascript代码没有按顺序执行?

来自分类Dev

使用Arquillian TestRunner TestNG顺序执行测试

来自分类Dev

为什么此队列的行为如此?

来自分类Dev

为什么TDD测试方法如此静态?

来自分类Dev

为什么此代码按此顺序执行?寻找过程流程的解释

来自分类Dev

为什么同一个OpenGL函数在Clojure中的执行与在Java中如此不同?

来自分类Dev

为什么执行此功能?

来自分类Dev

为什么此Jasmine测试偶尔在Firefox中失败

来自分类Dev

为什么Clojure引导中的任务执行顺序会更改?

来自分类Dev

为什么此JavaScript页面重定向如此之慢?

来自分类Dev

为什么此LINQ可查询分页性能如此差?

来自分类Dev

为什么此JavaScript函数的行为如此奇怪?

来自分类Dev

为什么此循环运行如此缓慢:c#

来自分类Dev

为什么添加INNER JOIN会使此查询如此缓慢?

来自分类Dev

为什么此功能允许SQL查询如此复杂?

来自分类Dev

为什么此for循环在装配循环中如此多次?

来自分类Dev

为什么此JavaScript页面重定向如此之慢?

来自分类Dev

为什么此“ if”不能在Java中执行?

来自分类Dev

为什么 Lua 中的 == 表现如此?

来自分类Dev

从testng执行中删除跳过的测试结果

来自分类Dev

如何跳过或忽略TestNG中的测试执行

来自分类Dev

为什么此查询在Entity Framework中花费那么长时间,而在SQL中却如此之快?

Related 相关文章

  1. 1

    为什么在c中以如此奇怪的顺序执行代码?

  2. 2

    为什么按此顺序执行线程?

  3. 3

    为什么此代码按顺序执行?

  4. 4

    调用方法的顺序-在此示例中为什么如此重要?

  5. 5

    在TestNG中执行测试

  6. 6

    什么在TestNG中控制组测试的顺序?

  7. 7

    什么在TestNG中控制组测试的顺序?

  8. 8

    为什么此Javascript代码没有按顺序执行?

  9. 9

    使用Arquillian TestRunner TestNG顺序执行测试

  10. 10

    为什么此队列的行为如此?

  11. 11

    为什么TDD测试方法如此静态?

  12. 12

    为什么此代码按此顺序执行?寻找过程流程的解释

  13. 13

    为什么同一个OpenGL函数在Clojure中的执行与在Java中如此不同?

  14. 14

    为什么执行此功能?

  15. 15

    为什么此Jasmine测试偶尔在Firefox中失败

  16. 16

    为什么Clojure引导中的任务执行顺序会更改?

  17. 17

    为什么此JavaScript页面重定向如此之慢?

  18. 18

    为什么此LINQ可查询分页性能如此差?

  19. 19

    为什么此JavaScript函数的行为如此奇怪?

  20. 20

    为什么此循环运行如此缓慢:c#

  21. 21

    为什么添加INNER JOIN会使此查询如此缓慢?

  22. 22

    为什么此功能允许SQL查询如此复杂?

  23. 23

    为什么此for循环在装配循环中如此多次?

  24. 24

    为什么此JavaScript页面重定向如此之慢?

  25. 25

    为什么此“ if”不能在Java中执行?

  26. 26

    为什么 Lua 中的 == 表现如此?

  27. 27

    从testng执行中删除跳过的测试结果

  28. 28

    如何跳过或忽略TestNG中的测试执行

  29. 29

    为什么此查询在Entity Framework中花费那么长时间,而在SQL中却如此之快?

热门标签

归档