簡體   English   中英

如何使用tv4在postman中測試JSON模式?

[英]How do I test JSON schema in postman using tv4?

這就是我正在嘗試的,但它總是通過測試,即使是糟糕的結果。

pm.test("Schema is valid", function () {
    var data = pm.response.json();
    var schema = {
        ...
        my schema
        ...
    };
    tv4.validate(data, schema);
});

這不起作用的原因(簡而言之)是Postman(tv4)使用的底層庫不再維護。 在今天早些時候遇到這個問題后,我找到了一個解決方案

tv4.validate(data, schema, false, true)

后兩個參數是checkRecursive和banUnknownProperties 如上所示設置這兩個標志使驗證按預期工作。

您可能還會發現此代碼段很有用,它會通過控制台報告任何驗證錯誤:

pm.test("Response body is valid", function() {
  var data = JSON.parse(responseBody);
  var valid = tv4.validate(data, schema, false, true);
  if (valid !== true) {
      console.log(tv4.error);
  }
  pm.expect(valid).to.be.true;
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM