最近在尝试使用pytest 做接口自动化测试,遇到一个问题, pytest 自带的断言 只要失败就不会再继续执行当前的测试用例了, 因为我们一个接口只有一个test 函数, 用例是维护在excel里, 执行时 逐行读取判断的, 这样就会有一个问题, 比如测试 一个加入购物车接口, 函数test_add , 该函数通过读取
excel 里所有用例,可能有10条,如果第一条失败,后面9条就不再继续执行,这样不满足我们的需求,所以要尝试解决:
- 找到一个pytest_assume 模块,使用pytest.assume 来断言, 这样的话 即使失败, 还是会继续执行,解决我们的最初的问题,但是发现一个新问题: 报告信息不明确 ,如下图提供三组数据,2个断言失败,但是看不到是哪一组失败了。
2.解决这个新问题, 考虑二次开发pytest_assume ,无奈技术有限,搞不定, 发现一个新模块pytest check (详情:https://pypi.org/project/pytest-check/) 可展示出断言失败时的 详细参数