控制器测试是否应包括认证?

时间:2019-10-28 11:46:50

标签: spring-boot unit-testing controller spring-boot-test

在我的项目中,我目前正在重构一堆控制器测试,并且遇到了一个问题,即我是否应该在测试范围中包括身份验证。

现在,我正在非常有限的范围内测试控制器。我测试:

  • 状态码
  • 请求
  • 回复
  • 控制器业务逻辑
  • 序列化/反序列化

我个人认为,身份验证不应该包含在这些测试中,但是我的项目中还有其他不同意的地方。这主要是一个历史问题,因为从一开始,认证一直是我项目中那些测试的一部分。

有明确的建议吗?非常感谢。

1 个答案:

答案 0 :(得分:0)

您可能希望自动测试在不进行身份验证的情况下运行(单元测试),并且还要进行包含身份验证的测试(集成测试(或您要称呼的任何测试))。您应该以拥有大量的单元测试为目标,并且它们应该能够独立执行(非常快),因为它们是您拥有的最短的开发循环。然后,您要运行集成测试,例如在部署期间在构建服务器上运行,以捕获回归错误等。您应该力求使集成测试比单元测试少得多。