最好在控制器层中编写案例。如果测试用例的执行发生在所有层(从控制器到DAO / DB),那么覆盖率将更多(超过90%)。如果使用的是
Mockito,则可以模拟最后一层(dao或任何其他层),因为有时DB操作不适用于测试用例。
如果您与DB交互很好,那么您将获得比模拟DAO更好的覆盖率。NOTE:
在编写测试用例时尝试覆盖大多数层和功能。
我会考虑使用junit和MockMvc为您的端点编写常规(无特殊情况)集成测试,并使用junit和Mockito进行单元测试以测试服务类中的特定业务案例。然后,在单元测试中,您可以测试所有可能的情况和极端情况。为此,单元测试更佳,因为它们较小且易于维护,而集成测试可确保您的API在常规级别上正常工作。