【发布时间】:2020-08-08 07:41:18
【问题描述】:
我正在开发 Spring Boot Web API,目前正在编写所需的单元测试。
我想知道:为控制器编写单元测试(JUnit + Mockito)还不够吗?由于控制器是我的应用程序的入口点,并且在服务端实现的所有逻辑都是从公开的 API 调用的,为什么我需要为服务端编写测试?
【问题讨论】:
-
您应该为您的服务编写 JUnit 测试用例,因为它们可以确保您的服务逻辑按预期工作。此外,如果有人在几年后查看您的代码,并且如果他/她试图将一些代码添加到现有功能中,那么服务测试将失败,他/她将知道他们的更改正在破坏部分业务逻辑。他们将不得不相应地更改测试以确保一切正常。
-
@nrai 你建议我只为服务层编写单元测试,而不是为控制器编写单元测试?
-
我建议您应该为应用程序中的控制器和服务编写 JUnit 测试。为控制器编写也是必要的,因为它们就像一个入口点,通过测试确保您的端点正是您在控制器中定义的端点是有意义的。如果你有这些测试,没有人可以篡改/破坏代码。
标签: spring-boot junit mockito spring-boot-test