java - Junit 测试用例 - 错误 - 预期状态:<200> 但原为:<500>
问题描述
我正在为我的项目模块运行 Junit 测试用例。执行测试用例后,我收到以下错误报告。
ClaimControllerTest.shouldReturnClaimWithValidationResult:417 Status expected:<200> but was:<500>
我正在使用下面的 Maven 注释来执行特定模块的测试用例。
mvn clean compile verify -Ptest
但是,我的项目有很多模块依赖。我如何为我的完整项目执行我的测试用例(将所有模块)
上面的错误指向下面的测试用例代码
mockMvc.perform(get(String.format("/claims/%d/validation-result", claim.getId())))
.andExpect(status().isOk())
.andExpect(jsonPath("$.catClaimNumber").value(claim.getCatClaimNumber().intValue()))
.andExpect(jsonPath("$.validationResult.programErrorCode").value("UNTHRZD_EXTRNL_USR"))
.andExpect(jsonPath("$.validationResult.hasErrors").value(true));
更新 1:
在执行 Sys 后看到下面的空指针异常
2019-01-03 15:46:27,401 [main] ERROR api.controller.BaseController: 83 - Unhandled exception while processing request for URL : http://localhost/claims/1901/validation-result with exception : null
java.lang.NullPointerException
对于以下代码:
mockMvc.perform(get(String.format("/claims/%d/validation-result", claim.getId()))).andDo(print());
解决方案
它告诉您,调用您的休息端点而不是成功代码 200,而是收到错误代码 500。这意味着您的休息端点引发了异常。
您可能想要打印完整的响应以进一步调试
mockMvc.perform(get(String.format("/claims/%d/validation-result", claim.getId()))).andDo(print());
推荐阅读
- python - python regax [] 不起作用
- arduino - PWM/PPM 输出丢失一些边沿
- java - Android studio - 浮动按钮崩溃应用
- shell - 如何从 Docker 容器中禁用和启用互联网连接?
- html - 为什么谷歌浏览器无法在 SVG 中正确显示文本标签?
- javascript - Vuejs - 在同一个组件中获取不同的日期
- python - 如何在 Python 中使海龟的形状成为图像?
- javascript - results.text.slice(0,3) 中的 Cordova BarcodeScan 不起作用
- css - 视网膜屏幕上的 Bootstrap 4 网格系统
- sap - SAP Fiori 组名称更改未反映在 Qulaity 系统的 Fiori Launchpad 中