unittest12--DDT数据驱动模块总结

DDT数据驱动模块总结

a)ddt测试本身的意思是数据驱动测试(Data Driven Test),说白了就是使用用例来驱动测试,用例要称为参数,
ddt测试也叫做参数化测试
b)ddt主要用于执行大量用例,如果不用ddt或其他参数化方式,那就自己写循环,自己写循环,一旦断言失败,测试就会停止
c)ddt一般与unittest结合,两者同时使用
d)使用步骤以及注意事项
d.1)安装ddt
d.2)from ddt import ddt,data,unpack
d.3)@ddt必须放在测试类之前,而且紧紧相邻,中间不能有其他代码,@ddt表示使用ddt数据驱动测试的意思,或者说使用ddt执行大量测试用例
d.4)@data(*二维列表)、@data(多个一维列表)
多个用例一般都是有多行多列构成的,一条用例是一行,一行有多列
二维列表的形式:
    [
        [用例1第1列,用例1第2列...],
        [用例2第1列,用例2第2列...],
        [用例3第1列,用例3第2列...]
    ]
    @data(*cases)其中,cases是二维列表,一般就理解为多行多列的用例,*cases表示把二维列表最外层的[]剥离,*cases的结果是多个一维列表,或者说是多行用例,@data封装了循环,
    表示把每一行用例作为循环的一次(*cases中有多少个子列表,@data就循环多少次,也就是循环执行test用例多少次)
    @unpack
    在@data每次循环中,继续对数据进行拆分,将一条用例拆成多列并将这些多列数据传递给test方法的形参,所以要求紧紧相邻的test方法必须使用符合要求个数的形参来接收数据
    注意:使用ddt以后,测试代码中不应该再写循环
    ddt与unittest本身就是完美结合的,所以在unittest中使用断言时,ddt在执行用例断言失败的时候,测试不会停止,而是继续运行

posted @ 2021-11-08 00:09  暄总-tester  阅读(265)  评论(0)    收藏  举报