我的测试失败了,因为
上的类未找到异常 import com.jayway.jsonpath.InvalidPathException;
内
org.springframework.test.util.JsonPathExpectationsHelper;
手动将jayway依赖项添加到我的maven pom中删除了此错误,我的测试按预期运行。
我是否发现了一个错误,或者我是否需要添加一个不同的弹簧罐以及弹簧测试?
答案 0 :(得分:45)
就我而言
测试代码包含 jsonPath 用法:
mockMvc.perform(get("/api/userDetails").header("Authorization", base64ForTestUser).accept(MediaType.APPLICATION_JSON))
.andExpect(status().isOk())
.andDo(print())
.andExpect(jsonPath("userName").value("testUser"));
我得到了
java.lang.NoClassDefFoundError: com/jayway/jsonpath/InvalidPathException
和
java.lang.ClassNotFoundException: com.jayway.jsonpath.InvalidPathException
此错误直接由缺少此类依赖性引起
<dependency>
<groupId>com.jayway.jsonpath</groupId>
<artifactId>json-path-assert</artifactId>
<version>0.8.1</version>
<scope>test</scope>
</dependency>
答案 1 :(得分:14)
外部依赖项(例如,JUnit,Mockito,Easy Mock,JayWay等)不包含在Spring中,因此有必要将它们(Ant / Maven / Ivy依赖项或jar文件)显式添加到项目的类路径中
答案 2 :(得分:2)
添加此依赖项
<dependency>
<groupId>com.jayway.jsonpath</groupId>
<artifactId>json-path-assert</artifactId>
<version>0.8.1</version>
<scope>test</scope>
</dependency>
如果要使用其他版本的json-path-assert,可以查看以下存储库:
http://mvnrepository.com/artifact/com.jayway.jsonpath/json-path