2016-05-04 10 views
0

私はspring mvcアプリケーション用のいくつかのテストを書いています。MockMvcResultMatchers.jsonpathを使ってテストを行うには?

私は次のように応答しました。

-> curl -X POST -H"Content-type:application/json; charset=utf-8" localhost:8080/mvc/addBlacklist.do -d '{"id": "1", "imsi": "test"}' 

{"id":0,"imsi":"18192729090","name":"xiaoshao","monitors":null} 

しかし、このような私のテスト。

Blacklist blackList = new Blacklist(); 
    blackList.setId(0); 
    blackList.setImsi("18192729090"); 
    blackList.setName("xiaoshao"); 

    when(blacklistService.add(any())).thenReturn(blackList); 

    mockMvc.perform(post("/addBlacklist") 
      .content(TestUtil.convertObjectToJsonBytes(blackList)) 
      .contentType(TestUtil.APPLICATION_JSON_UTF8)) 
      .andExpect(status().is(200)) 
      .andExpect(jsonPath("$.imsi", is("xiaoshao"))); 

このような例外が発生します。

java.lang.NoClassDefFoundError: com/jayway/jsonpath/InvalidPathException 
at org.springframework.test.web.servlet.result.JsonPathResultMatchers.<init>(JsonPathResultMatchers.java:53) 

答えて

1

テストの依存関係がありません。これをあなたのPOMに追加してください。

<dependency> 
    <groupId>com.jayway.jsonpath</groupId> 
    <artifactId>json-path</artifactId> 
    <version>2.2.0</version> 
    <scope>test</scope> 
</dependency> 
+0

感謝を。私は依存関係がないので問題を解決しました。 'com.jayway.jsonpath:json-path:2.2.0' –

+1

あなたの質問に答えた場合は、それを受け入れられた答え – javanoob

0

これを使用する:あなたの答えのための

import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath; 
関連する問題