Java 弹簧IT测试失败
我在spring(不是spring boot)应用程序中添加了一个新的querydsl控制器方法Java 弹簧IT测试失败,java,spring,spring-mvc,spring-data,querydsl,Java,Spring,Spring Mvc,Spring Data,Querydsl,我在spring(不是spring boot)应用程序中添加了一个新的querydsl控制器方法 @GetMapping("/watcher") @ResponseBody public List<Watcher> getWatchers(final Predicate predicate) { return repo.findAll(predicate); } 应用程序按照预期使用此新端点。我现在想添加一个Spring IT测试来测试这个新特性 这就是测试
@GetMapping("/watcher")
@ResponseBody
public List<Watcher> getWatchers(final Predicate predicate) {
return repo.findAll(predicate);
}
应用程序按照预期使用此新端点。我现在想添加一个Spring IT测试来测试这个新特性
这就是测试:
@Test
public void test() {
mvc.perform(get("/watcher"));
}
测试类包含以下注释:
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = SpringITConfig.class)
@WebAppConfiguration
其他测试也存在于同一个类中,perform()适用于这些测试,但这是我第一次向querydsl控制器添加测试
测试失败,未找到接口com.querydsl.core.types.Predicate的主构造函数或默认构造函数
我尝试将注释@EnableSpringDataWebSupport
添加到我的测试中,但它没有改变任何东西
我错过了什么
谢谢尝试删除您的
@ContextConfiguration
并将其替换为@SpringApplicationConfiguration(classes=your_MAIN_APP_CLASS)
,以引导所有需要的querydsl存储库,以及谓词类的正确jackson映射程序。您检查过这篇帖子吗?是的,它说要将注释EnableSpringDataWebSupport
也添加到测试中,这是我在问题中提到的,但它不会改变结果正如我在问题中所说的,我不使用spring引导。我没有主课。
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = SpringITConfig.class)
@WebAppConfiguration