代码如下,需要 A 执行后将响应值传入 courseClassify_list,然后将其参数化给 test_B
问题:@data在初始化时就会取值,而非等到 test_A 执行后,初始化为 [] 也导致 test_B 未执行
注:忽略文件中转方式

import unittest
from ddt import ddt, data
type = [1,2]
@ddt
class MyTestCase(unittest.TestCase):
    courseClassify_list = []    #最终为[('data3', 'data4'),('data3', 'data4')]的状态
    @data(*type)
    def test_A(self,data):
        # 执行A测试用例并向courseClassify_list插入数据
        self.courseClassify_list.append(('data3', 'data4'))  #共2条用例,都会生成一份('data3', 'data4')
        print(self.courseClassify_list)  # 验证是否成功插入数据
    @data(*courseClassify_list)
    def test_B(self, data):
        # 使用courseClassify_list作为数据驱动执行B测试用例
        print(data)  # 打印每个数据
if __name__ == '__main__':
    unittest.main()


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