• 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()

  • 相关阅读:
    【Vue 开发实战】基础篇 # 3:Vue组件的核心概念:事件
    元宇宙011 | 元宇宙的沉浸式体验会成瘾吗?
    实验四、R_b变化对Q点和电压放大倍数的影响 ​
    Python判断一个整数是否是回文数的三种方法
    JUC锁: ReentrantReadWriteLock详解
    开源项目推荐-vue2+element+axios 个人财务管理系统
    lambda表达式【C++】
    我也来一个“羊了个羊”
    RK3566系统移植 | 基于rk-linux-sdk移植uboot(2017.09)
    公关世界杂志公关世界杂志社公关世界编辑部2022年第14期目录
  • 原文地址:https://blog.csdn.net/weixin_47347921/article/details/132719130