【unittest】9、unittest之参数化

1、说明
  • 通过参数化的方式来传递数据,从而实现数据和脚本分离。并且可以实现用例的重复执行。unitest测试框架,本身不支持参数化,但是可以通过安装unittest扩展插件parameterized或ddt来实现
2、parameterized
  • 使用场景:多个测试用例代码相同,只是测试数据不同和预期结果不同,可以把多个测试用例通过参数化技术合并为一个测试用例
  • 安装
pip install parameterized
  • 使用方式
    • 导包:
导包:from parameterized import parameterized
    • 使用@parameterized.expand装饰器可以为测试函数的参数进行参数化
  • 举例:
3、ddt
  • Data-Driven Tests(DDT)即数据驱动测试,可以实现不同数据运行同一个测试用例。ddt本质其实就是装饰器,一组数据一个场景
  • ddt模块
    • 一个类的装饰器ddt
    • 三个方法装饰器:
      • data:
        • 包含多个传给测试用例的参数;可以是列表,元组,字典等
        • 举例:
      • fil_date
        • 会从json或yaml中加载数据
        • @file_data()装饰器会从json或yaml中加载数据。只有以“.yml” 和 “.yaml” 结尾的文件被加载为Yaml文件。所有其他格式文件都作为json文件加载,比如txt
        • json方式
          • 传递单层json文件
            • json文件
            • 测试函数
            • 执行结果:
          • 传递多层json文件
            • json文件
            • 测试函数
            • 执行结果
        • yaml方式
          • 安装
pip install PyYAML
          • yaml
          • 测试函数


posted @ 2022-04-24 21:42  郭祺迦  阅读(304)  评论(0)    收藏  举报