测试用例数据源,如图套了 3 层循环
使用 type 动态生成测试案例,生成测试方法代码如下,通过计算内外层的 skipif 是否 false 决定是否跳过用例,同理计算内外层循环次数决定循环多少次
循环控制器主要逻辑将循环次数与用例名进行拼接,再使用 setattr 设置类的属性,如登录用例会生成 test_登录Loop_1,test登录Loop_2,test登录_Loop_3
setattr(cls, f"{test_name + tag}", new_test_func)
if 控制器借鉴 unittest 底层代码
test_item.__unittest_skip__ = True
test_item.__unittest_skip_why__ = 'Skip'