【发布时间】:2019-12-28 19:38:49
【问题描述】:
我在我的控制器中编写了一个简单的方法,作为我的 Java Spring Boot 应用程序的一部分,它可以正常使用,并且我已经使用 Postman 对其进行了测试。但是我不确定如何使用 Junit 和 Mockito 对此进行单元测试。我在下面展示了我的代码的 sn-p,首先是我的 Controller.java 类,然后我的测试在 ControllerTest.java 中。我怎样才能正确地进行单元测试?
编辑:我知道我的测试用例是问题所在,我已将其删除,因为所有 cmets 都在关注为什么它是错误的。我在问如何为这个特定的 saveCase 方法编写单元测试用例。
我已经尝试查看以下链接中的示例Rest Controller Unit TestSpring RestController + Junit Testing
@Autowired
Service service;
@PostMapping("/savecase")
public ResponseEntity<PIECase> saveCase(@Valid @RequestBody PIECase pieCase) {
return ResponseEntity.ok(pieService.saveCase(pieCase));
}
【问题讨论】:
-
“似乎无法得到正确的结果” 什么是“正确”的结果?实际结果如何?
-
测试应该验证控制器是否正常工作,即返回一个序列化为 JSON 的 PIECase 对象。但是您的测试会检查响应是否为
"some expected response"。为了简单起见,您的测试相当于测试将 2 加到 3 的服务返回 42。测试就是问题所在。
标签: java spring-boot junit mockito