2017-11-09 18 views
0

난 후 하나의 JSON과 나는 모든 필드가 올바른 values.My JSON으로 데이터베이스에 저장되어 있는지 확인해야 후 작업을 해달라고하는 것은 : 그래서

{ 
    "id": "1", 
    "name": "name1", 
    "description": "description1", 
    "source": "source1", 
    "target": "target1", 
    "domain": "PM", 
    "transformation_rules": [ 
     { 
      "name": "name2", 
      "filters": [ 
       { 
        "object": "object1", 
        "pattern": "pattern1" 
       } 
      ], 
      "operations": [ 
       { 
        "pattern": "pattern2", 
        "replacement": "replacement1" 
       } 
      ] 
     }, 
     { 
      "name": "name3", 
      "filters": [ 
       { 
        "object": "object2", 
        "pattern": "pattern2" 
       } 
      ], 
      "operations": [ 
       { 
        "pattern": "pattern3", 
        "replacement": "replacement2" 
       }, 
       { 
        "pattern": "pattern3", 
        "replacement": "replacement3" 
       }, 
       { 
        "pattern": "pattern4", 
        "replacement": "replacement4" 
       } 
      ] 
     } 
    ], 
    "conflict_policy": "ACCEPT_SOURCE" 
} 

, 내가 가진 :

responseGet = RestAssured.given().contentType(ContentType.JSON).when().get(urlApi + "/" + id); 

나의 첫번째 검증은 다음과 같습니다

responseGet.then().body("$[0]['id']", equalTo("1")); 

필드는 "ID가"그것을 잘 실행되지 않습니다 1에 해당하는지 확인하고 나는 변경 :

responseGet.then().body("$.id", equalTo("1")); 

과 같은 결과가 --->

, 당신은 모든 JSON을 테스트하기 위해 나에게 제안을 줄 수 바랍니다 실패? 정보를 제공하기 위해 신청하려고 시도 : https://github.com/json-path/JsonPath.

이를 확인하기 위해, 사전에 당신에게

최고 감사합니다,

답변

0

직접 jsonPath()을 사용할 수를 대단히 감사합니다 :

예를 들어 :

responseGet.body().jsonPath().getString("id").equals("1"); 

독서 용 JsonPath