2017-11-06 7 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

あなたのスキーマにはスペルミスがあり、正しく検証されていません。このスペルが間違っているため、バリデーターは項目情報を検証に使用しておらず、ルートがオブジェクトであることを検証していました。私は更新されたスキーマを含んでいます。

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"} 
      } 
     }] 
    } 
}}; 

それは

console.log(JSON.stringify(tv4)); 
を失敗する可能性がある場所を私は見ることができますので、私は通常私のテストの後にいくつかのログを追加しますテスト
関連する問題