1. 断言的不断完善:
第1版本, 使用diff方法全量进行对比:
assert 'session' in result['results']
del result['results']['session']
diff = DeepDiff(expected_result, result)
assert diff == {}
第2版本:使用assert方法
assert resp['results'] == "IN"
第3版本:函数调用
@step("validate the recognition : {expect_res}”)
def assert_result(resp, expect_res):
actual_res = resp['results']
assert actual_res == actual_res, \
f"validation for res failed, expect: {expect_res}, actual: {actual_res}"
测试用例调用:
def test_on(self, test):
assert_result(resp, test['expect_res'])
2. 自动化框架的不断完善:
apps - 大类文件夹
ass - 小类文件夹
res - 结果
.json 数据文件: path, expect_res
.ogg语音文件
script脚本文件
- 数据获取:
resource_path = str(Path(__file__).parent.resolve().joinpath('res'))
@pytest.mark.parametrize("test_data", convert_file_to_json(f"{resource_path}/on.json"))
2. 用例中使用:
get_test_resource_path(f"{resource_path}/{test_data['path']}")