【发布时间】:2018-04-27 15:00:25
【问题描述】:
我正在从事我希望拥有良好的测试基础设施的项目。 我正在使用 spring boot,它可以更轻松地测试项目的不同层:例如
如果我想测试控制器层,我将模拟(使用 mockito)控制器的服务依赖关系,并检查是否会在给定的 http 请求上调用正确的服务方法,并返回预期的 http 状态。如果我想测试服务层,我将模拟存储库和业务逻辑依赖项。以此类推。
在我的项目中,我使用 spring 验证器来检查请求正文是否正确传递(使用 @InitBinder 方法,我将自定义验证器添加到 WebDataBinder,并使用 @Valid 注释,调用这些验证器在已解析的请求正文上)。
所以我的问题是:模拟验证器并仅测试控制器逻辑是否是一种好习惯(验证器将在验证器层的上下文中进行测试)? 我只是不确定哪个是最佳实践,同时测试验证器和控制器是否正常?
【问题讨论】:
标签: spring-boot junit mocking spring-validator