首页 > 技术文章 > Pytest学习笔记8-参数化

crdym 2021-07-02 00:01 原文

前言

我们在实际自动化测试中,某些测试用例是无法通过一组测试数据来达到验证效果的,所以需要通过参数化来传递多组数据

在unittest中,我们可以使用第三方库parameterized来对数据进行参数化,从而实现数据驱动测试

而在pytest中,也提供了功能强大的@pytest.mark.parametrize装饰器来实现数据参数化

Pytest参数化的方式

pytest有三种传参方式

  • @pytest.mark.parametrize() 通过装饰器方式进行参数化(最常使用)
  • pytest.fixture()方式进行参数化,fixture装饰的函数可以作为参数传入其他函数
  • conftest.py文件中存放参数化函数,可作用于模块内的所有测试用例

@pytest.mark.parametrize实现参数化

装饰测试类

当装饰器 @pytest.mark.parametrize 装饰测试类时,会将数据集合传递给类的所有测试用例方法

举个

推荐阅读