如何解决春季IT测试失败
我在我的spring(不是spring boot)应用程序中添加了一个新的querydsl控制器方法。
@GetMapping("/watcher")
@ResponseBody
public List<Watcher> getWatchers(final Predicate predicate) {
return repo.findAll(predicate);
}
我还在WebMvcConfigurer实现中添加了以下注释:
@EnableSpringDataWebSupport
应用程序将按预期使用此新端点。我现在想添加一个Spring IT测试来测试这个新功能。
这是测试:
@Test
public void test() {
mvc.perform(get("/watcher"));
}
测试类包含以下注释:
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = SpringITConfig.class)
@WebAppConfiguration
同一类中还存在其他测试,并且perform()可以用于这些测试,但这是我第一次将测试添加到querydsl控制器中。
测试失败,并显示No primary or default constructor found for interface com.querydsl.core.types.Predicate
。
我尝试将注解@EnableSpringDataWebSupport
添加到测试中,但没有任何改变。
我想念什么?
谢谢
解决方法
尝试删除您的@ContextConfiguration
并将其替换为@SpringApplicationConfiguration(classes = YOUR_MAIN_APP_CLASS)
,以引导所有需要的querydsl存储库,以及用于谓词类的正确杰克逊映射器。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。