• python - unittest - ddt


    Ddt框架

    数据驱动的单元测试是为数据源中的每一行重复运行的一种单元测试。数据驱动的但马原测试的常用情况是使用多个输入值测试API。不是编写调用API的多个单元测试(每个单元测试具有一组行的输入),也不是在单元测试中创建一个数组并使用循环代码,而是可以编写执行api的单个单元测试方法。 然后可以重数据库表的行中警醒数据检索一遍遍地给测试方法的连续调用,可以使用此技术测试由不同用户(每个用户具有不同角色)使用的应程序,对每个用户,数据源中的一行将根据角色只是预期相应。然后,该测试将通过针对每个用户运行功能

    1.单个传参:

    1. import unittest
    2. from ddt import ddt,data
    3. #写一个测试类
    4. @ddt
    5. class Mytest(unittest.TestCase):
    6. @data(3)
    7. def test_ddt1(self,value):
    8. print(f"====>ddt1:{value}")
    9. assert value == 2,"这个数不是2"
    10. if __name__ == '__main__':
    11. unittest.main()

    2. 多个传参

    1. import unittest
    2. from ddt import ddt,data
    3. #写一个测试类
    4. @ddt
    5. class Mytest(unittest.TestCase):
    6. @data(2,3,4,5,6,7,8)
    7. def test_ddt1(self,value):
    8. print(f"====>ddt1:{value}")
    9. if value == 2:
    10. assert value == 2,"吃饭"
    11. elif value == 3:
    12. assert value == 3,"喝水"
    13. if __name__ == '__main__':
    14. unittest.main()

    3.列表传参

    1. import unittest
    2. from ddt import ddt,data
    3. #写一个测试类
    4. list1 = [1,2,3,4,5,6,7,8]
    5. @ddt
    6. class Mytest(unittest.TestCase):
    7. @data(*list1)
    8. def test_ddt1(self,value):
    9. print(f"====>ddt1:{value}")
    10. if __name__ == '__main__':
    11. unittest.main()

    4.多组传参(提前准备好的数据)

    1. import unittest
    2. from ddt import ddt,data
    3. #写一个测试类
    4. list1 = [1,2,3,4,5,6,7,8]
    5. @ddt
    6. class Mytest(unittest.TestCase):
    7. @data(*list1)
    8. def test_ddt1(self,value):
    9. print(f"====>ddt1:{value}")
    10. if value == 2:
    11. assert value == 2,"吃饭"
    12. elif value == 3:
    13. assert value == 3,"喝水"
    14. if __name__ == '__main__':
    15. unittest.main()

    5.单组传参

    1. import unittest
    2. from ddt import ddt,data,unpack
    3. #写一个测试类
    4. @ddt
    5. class Mytest(unittest.TestCase):
    6. @data({"value1":1,"value2":2})
    7. @unpack
    8. def test_ddt1(self,value1,value2):
    9. print(f"====>ddt1:{value1}---{value2}")
    10. if __name__ == '__main__':
    11. unittest.main()

    6.多组传参

    1. import unittest
    2. from ddt import ddt,data,unpack
    3. #写一个测试类
    4. list1 = [{"value1":1,"value2":2},{"value1":3,"value2":4},{"value1":1,"value2":6}]
    5. @ddt
    6. class Mytest(unittest.TestCase):
    7. @data(*list1)
    8. @unpack
    9. def test_ddt1(self,value1,value2):
    10. print(f"====>ddt1:{value1}---{value2}")
    11. if __name__ == '__main__':
    12. unittest.main()

  • 相关阅读:
    汽车电子 - AUTOSAR
    深入学习JVM底层(四):类文件结构
    【MySQL】 MySQL索引事务
    Flask数据库_Column的常用参数与使用
    c++builder 6.0中OnCliked= fun实现的原理
    电脑文件误删除怎么恢复?
    VPP创建主HEAP内存
    手把手带你刷好题(牛客刷题②)
    【编程题】【Scratch四级】2021.12 质数判断器
    05-SpringBoot中yaml文件的语法格式,在程序中读取yaml文件中数据的方式,yaml文件中引用数据的方式
  • 原文地址:https://blog.csdn.net/weixin_47347921/article/details/132719130