【发布时间】:2018-03-19 02:11:30
【问题描述】:
我有一个简单的 Java Spring REST API 应用程序,但我不知道如何对其进行单元测试。我已经阅读了 JUnit 和 Mockito 的文档,但我无法弄清楚。
这是StudentController类中的post方法
@RequestMapping(method = RequestMethod.POST, consumes = MediaType.APPLICATION_JSON_VALUE)
public void insertStudent(@RequestBody Student student){
studentService.insertStudent(student);
}
这里是 StudentService 类中的 insertStudent 方法
public void insertStudent(Student student) {
studentDao.insertStudent(student);
}
我使用 MySQL 作为数据库。我也应该使用数据库进行单元测试吗?我的意思是我不想要任何集成测试。我只想要单元测试。我在 Node.js 中使用 supertest,它照顾到了所有人,我也可以用 JUnit 或 Mockito 来做吗?
【问题讨论】:
-
控制器的 mockist 单元测试将模拟服务并确保调用正确的方法,您当然可以使用 JUnit+Mockito 来做到这一点。那么就不需要数据库了,因为真正的服务根本没有被使用。
-
@jonrsharpe 你能给我一个链接,告诉我如何做到这一点吗?
-
已经有很多例子了,我建议研究一下。参见例如stackoverflow.com/q/10906945/3001761
标签: java spring rest unit-testing junit