我有带@Valid
注释的控制器。默认情况下,mockMvc测试会触发该验证。我想为某些测试禁用它,因为它需要更多的工作来准备有效的输入,而对于大多数测试只有部分输入就足够了
答案 0 :(得分:3)
如果您使用的是独立设置,则可以通过Validator
方法提供模拟setValidator
实例:
mockMvc = MockMvcBuilders.standaloneSetup(controller).setValidator(mockValidator);
如果没有,则必须通过测试Validator
提供模拟@Configuration
bean,并将bean标记为@Primary
。优选地,对于那些类型的测试,您将具有不同的配置文件,以便不对其他测试禁用验证。