运行junit时遇到异常

时间:2016-04-09 10:20:47

标签: java spring junit mockmvc

我在查看junit的输出时遇到错误,看来弹簧提供的JSON路径有问题。

java.lang.NoSuchMethodError: com.jayway.jsonpath.JsonPath.compile(Ljava/lang/String;[Lcom/jayway/jsonpath/Filter;)Lcom/jayway/jsonpath/JsonPath;
at org.springframework.test.util.JsonPathExpectationsHelper.<init>(JsonPathExpectationsHelper.java:53)
at org.springframework.test.web.servlet.result.JsonPathResultMatchers.<init>(JsonPathResultMatchers.java:43)
at org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath(MockMvcResultMatchers.java:133)
at com.name.registration.test.ServerConnectionTest.testLogin_Simple(ServerConnectionTest.java:20)

Junit代码

callApi(C.login, input)
    .andExpect(jsonPath("$.success").value(true));

1 个答案:

答案 0 :(得分:1)

尝试给你的json-path jar一个更高的导入顺序,因为它可能是使用通过spring或其他东西引入的旧版本。 如果这是一个maven项目,那么顺序将被视为pom中指定的顺序,所以我只想尝试将json-path移动为第一个依赖项。 如果它当前是传递依赖,我会尝试将其明确指定为直接依赖(再次在顶部)。

如果它不是maven项目,您还可以在IDE中订购依赖项。 (在Eclipse中:Java构建路径&gt;订单和导出。)