junit测试用例-按顺序执行等

1:问题描述

有时候测试需要从上往下依次执行,或者有特殊需求,需要自定义顺序

2:junit方案:@FixMethodOrder(value)

junit中给出了@FixMethodOrder(value)注解,可以用来控制顺序等,value有三种类型

  2.1:MethodSorters.JVM

  根据JVM返回的名称执行,那个方法先执行都存在不确定性,每次执行顺序可能也都不一样

  2.2:MethodSorters.DEFAULT

  默认使用这个策略,执行顺序根据hashcode值来决定

  2.3:MethodSorters.NAME_ASCENDING

  根据方法名来的,当然这个策略不能只加注解,而是跟方法名有要求,具体的操作如下:

  方法名需要以这样的前缀开头,当然直接使用ABCD开头也是可以的,但是没有这个命名规范

·  

 

 

   使用ABCD

  

 

 3:代码实现

import org.junit.FixMethodOrder;
import org.junit.Test;
import org.junit.runners.MethodSorters;

@FixMethodOrder(MethodSorters.NAME_ASCENDING )
public class ObjTest {

    @Test
    public void test_01_queryObj(){
        System.out.println("test_01_queryObj");
    }
    @Test
    public void test_02_queryObjById(){
        System.out.println("test_02_queryObjById");
    }
    @Test
    public void test_03_queryObjByName(){
        System.out.println("test_03_queryObjByName");
    }
    @Test
    public void test_04_queryObjByCuster(){
        System.out.println("test_04_queryObjByCuster");
    }
    @Test
    public void test_05_queryObjByTicket(){
        System.out.println("test_05_queryObjByTicket");
    }
}

 

4:总结

如果有执行顺序需求,则使用MethodSorters.NAME_ASCENDING,然后命名使用:统一前缀_+  序号 _+方法名,如:test_01_queryObject,提高可读性的同时,规范了执行顺序

 

posted @ 2022-09-08 13:33  鸭猪是的念来过倒  阅读(372)  评论(0编辑  收藏  举报