2017-11-06 12 views
0

테스트 데이터에 "code"및 "status"가 누락 된 경우에도 [ "validating schema"] = tv4.validate (testdata, schema)가 전달됩니다. 응답 및 테스트 데이터 스키마가 모두 JSON 스키마와 일치하는지 확인하는 방법POSTMAN - 잘못된 테스트 데이터에 대해서도 스키마 유효성 검사가 전달됩니다.

var testdata={ 
"csosProfileDataList": [ 
{ 
    "profileName": "cameron test", 
    "deaRegisteredName": "COLISEUM SAME DAY SURG CTR#712", 
    "deaLicenseNo": "BP6117004", 
}, 
{ 
    "profileName": "[email protected]#$%%", 
    "code": 69022, 
    "deaRegisteredName": "COLISEUM SAME DAY SURG CTR#712", 
    "deaLicenseNo": "BP6117004", 
    "status": "COMPLETE" 
} 
] 
}; 

var schema={ 
"type":"object", 
"properties":{ 
"csosProfileData":{ 
    "type":"array", 
    "items":{ 
     "type":"object", 
    "properties":{ 
    "profileName":{"type":"string"}, 
    "code":{"type":"string"}, 
    "deaRegistrationName":{"type":"string"}, 
    "deaLicenseNo":{"type":"string"}, 
    "status":{"type":"string"} 
}, 
"required":["profileName", "code", "deaRegistrationName", "deaLicenseNo", "status"] 
    } 

} 
} 

}; 
tests["validating schema "] = tv4.validate(testdata, schema); 

답변

0

스키마의 맞춤법 오류로 인해 유효성이 올바르게 검증되지 않습니다. 철자 오류로 인해 유효성 검사기는 유효성을 검사 할 항목 정보를 사용하지 않고 루트가 개체 였는지 확인했습니다. 업데이트 된 스키마가 포함되었습니다. 이

console.log(JSON.stringify(tv4)); 
실패 할 수도 있습니다 어디 볼 ​​수 있도록
let schema = { 
"type":"object", 
"required" : ["csosProfileDataList"], 
"properties":{ 
    "csosProfileDataList":{ 
     "type":"array", 
     "items" : [{ 
      "type":"object", 
      "required":["profileName", "code", "deaRegisteredName", "deaLicenseNo", "status"], 
      "properties":{ 
       "profileName":{"type":"string"}, 
       "code":{"type":"string"}, 
       "deaRegisteredName":{"type":"string"}, 
       "deaLicenseNo":{"type":"string"}, 
       "status":{"type":"string"} 
      } 
     }] 
    } 
}}; 

나는 보통 내 테스트 후 일부 로깅을 추가 테스트 할 때