最初,我在 Java Spring Boot Junit 测试用例中使用MockMvc。如果消息不成功,我将发送一个带有消息的 JSON 成功{"message": "Success"},而不会抛出 AssertionError 异常。它应该检查 catch 块下的消息失败语句。不添加catch块语句,有没有什么可行的方法可以将Success,Failure场景组合在一起。下面的代码解释了我的尝试,@Testpublic void test() throws Exception { try { result = mockMvc.perform(post("/test/{testId}", "44") .contentType(MediaType.APPLICATION_JSON) .content("{\"order\": \"desc\"}") .accept(MediaType.APPLICATION_JSON)).andExpect(status().is(200)) .andExpect(jsonPath("message").value("Success")) .andReturn(); } catch (AssertionError e) { result = mockMvc.perform(post("/test/{testId}", "44") .contentType(MediaType.APPLICATION_JSON) .content("{\"order\": \"desc\"}") .accept(MediaType.APPLICATION_JSON)).andExpect(status().is(200)) .andExpect(jsonPath("message").value("Failure")) .andReturn(); }}
1 回答
手掌心
TA贡献1942条经验 获得超3个赞
试试这个
result = mockMvc.perform(post("/test/{testId}", "44") .contentType(MediaType.APPLICATION_JSON) .content("{\"order\": \"desc\"}") .accept(MediaType.APPLICATION_JSON)).andExpect(status().is(200)) .andExpect(jsonPath("message").value(org.hamcrest.CoreMatchers.anyOf(is("Failure"), is("Success")))) .andReturn();
但是我建议您尝试像 Martin 那样将这些测试用例拆分为单独的测试。
添加回答
举报
0/150
提交
取消