基本情况:
用例收集:通过Mark 标签收集
数据参数化:通过数据库orm筛选【用例名+套件】后得到数据,在 pytest_generate_tests 中处理后进行 parametrize

问题:
run 的时候-m参数时包括了Mark1、Mark2等多个标记,但是选择的数据套件在数据库里可能只有 MARK1 对应的测试数据,没有Mark2测试数据,数据为空,导致收集阶段报错,有没有什么方法可以解决?

我的思路:
1.数据为空测试函数跳过,pytest_generate_tests 中判断数据为空时,给测试函数加一个skip标记,但是 pytest_generate_tests 的规范参数是 metafunc,没有 request。


↙↙↙阅读原文可查看相关链接,并与作者交流