为了账号安全,请及时绑定邮箱和手机立即绑定

在 JUnit 测试用例中使用 Try Catch

在 JUnit 测试用例中使用 Try Catch

撒科打诨 2021-08-06 10:43:37
最初,我在 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 那样将这些测试用例拆分为单独的测试。


查看完整回答
反对 回复 2021-08-06
  • 1 回答
  • 0 关注
  • 377 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信