python模式验证问题

时间:2018-08-21 14:04:18

标签: python-3.x validation schema pytest

我正在尝试编写一个pytest案例,以说下面的示例中首先有Clinical_in。我已经在pycharm中编写了此代码,并且可以运行测试以说在“ clinical_in”中具有“ code_tbl”并且等于“ code”,但似乎无法找到一种编写测试用例的方式来表示Clinical_in首先因为没有理由没有理由

我如何通过读取文件

json = json.load(open(resources_path + 'clinical_in.json'))

这是我的json的示例

{
  "clinical_in": {
    "code_tbl": "code",
    "prov_tbl": "prov",
    "patient_tbl": {
      "patient_tbl":"patient_table",
      "filter": {
        "case1":{"data_typ":"Med", "claim_typ":["r", "s"]}
      }
    }
}

1 个答案:

答案 0 :(得分:0)

首先,我们需要确保json的顺序正确。您应该使用OrderDict 然后我们可以写一个断言

import json
from collections import OrderedDict
json_file = """{
  "clinical_in": {
    "code_tbl": "code",
    "prov_tbl": "prov",
    "patient_tbl": {
      "patient_tbl":"patient_table",
      "filter": {
        "case1": {"data_typ":"Med", "claim_typ":["r", "s"]}
      }
      }
    }
}"""
data = json.loads(json_file, object_pairs_hook=OrderedDict)
assert list(data.keys())[0] == 'clinical_in'