zoukankan      html  css  js  c++  java
  • Java 测试

    @BeforeClass @Before @AfterClass @After @Test“之间”的执行次序问题

    一个Junit 的测试类,总运行次序为:

    -> @BeforeClass 
    -> {
            Test 函数的特定运行次序,每个@Test都要执行(@Before -> @Test -> @After)
       } 
    -> @AfterClass    
    

     

    @Before 有点类似于初始化函数,它会对每个@Test测试方法在开始之前都运行一遍。
    @BeforeClass 是对于整个当前测试类的初始化,它会在第一个测试函数之前,对整个类都运行且只运行一次。因此,它只修饰static函数。
    @After 有些类似于空间释放或者垃圾回收的函数作用,它会对每个@Test函数在结束测试之后运行一遍
    @AfterClass 也是针对于整个类的,在所有测试函数结束后,对整个类运行一次。因此,它只修饰static函数。

    @Test函数“之间”的执行次序问题

    • test函数的默认顺序是按照方法名的hashcode()值的排序来决定的,如果hashcode计算值相同,就按照字典序排列。由于hashcode的生成与操作系统相关,所以在不同的操作系统可能会出现不一样的执行次序。
    • 但是Junit对于执行次序的参量提前设置的还有按照方法名称的字典序排列执行,不过这种方法就要在书写名称时要注意一下命名规则了。
    • 还有一个是按照JVM返回的方法名的顺序来执行,每次执行的顺序可能会有所不同

    对于Test函数执行顺序的设置可以通过在类名前通过@FixMethodOrder(value)来设置,其中MethodSorters.DEFAULT是默认hashcode顺序,MethodSorters.NAME_ASCENDING是按照字典顺序,MethodSorters.JVM是按照JVM返回次序执行。

    参考

    Junit:@Test @Before @After 测试函数的执行次序

    作者:

    链接:https://blog.csdn.net/qq_42901761/article/details/93473068

  • 相关阅读:
    mysql 百万级查询优化
    hibernate N+1
    sql 技巧
    redis做成windows服务
    jsonp 跨域
    maven+spring-data-jpa环境搭建
    通过浏览器地址进行 post get 请求
    spring-data-jpa 新增 修改 删除 查询 分页
    mybatis+springMVC
    java 基于 bootstrap_datagrid 分页
  • 原文地址:https://www.cnblogs.com/frankcui/p/13899738.html
Copyright © 2011-2022 走看看