规定测试用例的运行顺序

可以使用@FixMethodOrder来指定测试用例运行的顺序,这个注解中有三个属性值:

MethdSorters.JMV,按照JVM得到的方法顺序,也就是代码中定义的方法顺序。

MethodSorters.DEFAULT:默认的顺序。

MethodSorters.NAME_ASCENDING:按方法名字母顺序执行。

一般是使用MethodSorters.NAME_ASCENDING可以实现控制测试用例的执行顺序。

但是使用此注解后,测试用例的方法命名必须遵循一定的规则,即testXXX,这里的x是代指大写字母。

@RunWith(SpringRunner.class)
@SpringBootTest
@AutoConfigureMockMvc
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
public class DeviceModelServeControllerTest {
    @Autowired
    MockMvc mvc;
    private static final String URI = Constants.URI_API_PREFIX + Constants.URI_DEVICE_MODEL_SERVICE;
    private SecurityApi securityApi = new SecurityApi();
    private String token = "";
    private Logger logger = LoggerFactory.getLogger(getClass());
    private DeviceModelServe serve;
    private List<DeviceModelServeParam> params = new ArrayList<>();

    @Before
    public void setUp() {
        token = securityApi.login("admin", "siid0531");

        serve = new DeviceModelServe("xcwuyvf"+(int)(Math.random()*10), 4, "zxabj", (short) 1);
        for (int i = 0; i < 3; i++) {
            DeviceModelServeParam p = new DeviceModelServeParam("ertg" + i, "xwleh" + i,
                    "kxweb" + i, (short) 1, (short) 0);
            params.add(p);
        }
        serve.setParam(params);
    }


    @Test
    public void testA() throws Exception {
        String url = URI + "/all/?modelId=4";
        MvcResult mvcResult = mvc.perform(MockMvcRequestBuilders.get(url)
                .header("Authorization", "Bearer " + token)
                .accept(MediaType.APPLICATION_JSON))
                .andExpect(MockMvcResultMatchers.status().isOk())
                .andReturn();
        MockHttpServletResponse response = mvcResult.getResponse();
        int status = response.getStatus();
        String rs = new String(response.getContentAsByteArray());
        logger.info("测试获取某个设备服务调用的接口——————");
        System.out.println("A");
        logger.info("状态码:" + status);
        logger.info("测试结果:" + rs);
    }

    @Test
    public void testB() throws Exception {
        String url = URI;
        MvcResult mvcResult = mvc.perform(MockMvcRequestBuilders.post(url)
                .header("Authorization", "Bearer " + token)
                .contentType(MediaType.APPLICATION_JSON).content(JSONObject.toJSONString(serve))
                .accept(MediaType.APPLICATION_JSON))
                .andExpect(MockMvcResultMatchers.status().isOk())
                .andReturn();
        MockHttpServletResponse response = mvcResult.getResponse();
        int status = response.getStatus();
        String rs = response.getContentAsString();
        logger.info("测试新增设备服务接口——————");
        System.out.println("B");
        logger.info("状态码:" + status);
        logger.info("测试结果:" + rs);
    }

    @Test
    public void testC() throws Exception {
        String url = URI;
        serve.setId(22);
        serve.setModelId(4);
        DeviceModelServeParam p = new DeviceModelServeParam("xawrf", "grtg",
                "kxweb", (short) 1, (short) 0);
        p.setId(63);
        DeviceModelServeParam p1 = new DeviceModelServeParam("erf", "fgwe45y",
                "infur", (short) 1, (short) 0);
        p1.setId(64);
        params.clear();
        params.add(p);
        params.add(p1);
        serve.setParam(params);
        MvcResult mvcResult = mvc.perform(MockMvcRequestBuilders.put(url)
                .header("Authorization", "Bearer " + token)
                .contentType(MediaType.APPLICATION_JSON).content(JSONObject.toJSONString(serve))
                .accept(MediaType.APPLICATION_JSON))
                .andExpect(MockMvcResultMatchers.status().isOk())
                .andReturn();
        MockHttpServletResponse response = mvcResult.getResponse();
        int status = response.getStatus();
        logger.info("测试修改设备服务调用接口——————");
        System.out.println("C");
        logger.info("状态码:" + status);
    }

    @Test
    public void testD() throws Exception {
        String url = URI + "/24";
        MvcResult mvcResult = mvc.perform(MockMvcRequestBuilders.delete(url)
                .header("Authorization", "Bearer " + token)
                .accept(MediaType.APPLICATION_JSON))
                .andExpect(MockMvcResultMatchers.status().isOk())
                .andReturn();
        MockHttpServletResponse response = mvcResult.getResponse();
        int status = response.getStatus();
        logger.info("测试删除设备服务调用接口——————");
        System.out.println("D");
        logger.info("状态码:" + status);
    }
}

运行后,如下图所示顺序

在这里插入图片描述

发布了51 篇原创文章 · 获赞 0 · 访问量 723

猜你喜欢

转载自blog.csdn.net/lxy1740/article/details/104308490