pytest数据驱动(最简单)

本文介绍了如何通过yaml文件在Python测试中获取一维和二维数据,并结合pytest的fixture功能,展示了一维列表、二维列表以及使用fixture参数化的测试用例编写方法。

目录

第一种:通过yaml文件获取数据(一维列表)

第二种:通过yaml文件获取数据(二维列表)

第三种:通过yaml文件获取数据(@pytest.fixture)

资料获取方法


第一种:通过yaml文件获取数据(一维列表)

data.yaml文件内容如下:

- '软件测试'
- '单元测试'
- '自动化测试'
- '性能测试'
- '测试开发'
- '测试架构师'

测试用例内容如下:

@pytest.mark.parametrize('data',  yaml.load(open('data.yml', 'r')))
def test_ddt(data):

  url='https://www.baidu.com/search/query?key='
  header = {'Accept': "application/json",
      'Content-Type': "application/json; charset=utf-8",
      'Accept-Encoding': "gzip, deflate, br"}

  res=requests.get(url+data, header)
  assert res.status_code==200

第二种:通过yaml文件获取数据(二维列表)

data.yaml文件内容如下:

#用例1
-
api_name: page_title
url: http://www.baidu.com/
header = {'Accept': "application/jso
Python是一种高级编程语言,它具有简单易学、代码可读性强、功能强大等特点。YAML是一种轻量级的数据序列化格式,它可以用来表示复杂的数据结构,比如列表、字典等。Pytest是Python中的一个测试框架,它可以帮助我们编写简单、可读性强的测试用例。DDT(Data-Driven Testing)是一种测试方法,它可以帮助我们更加高效地编写测试用例,通过将测试数据和测试逻辑分离,从而减少了测试用例的编写量。 在Pytest中,我们可以使用DDT来实现数据驱动测试。具体来说,我们可以将测试数据存储在YAML文件中,然后使用PyYAML库来读取这些数据。接着,我们可以使用@pytest.mark.parametrize装饰器来将测试数据传递给测试函数,从而实现数据驱动测试。 下面是一个使用Pytest和DDT进行数据驱动测试的示例代码: ```python import yaml import pytest def read_data(): with open('test_data.yaml', 'r') as f: data = yaml.safe_load(f) return data @pytest.mark.parametrize('test_input, expected_output', read_data()) def test_my_function(test_input, expected_output): assert my_function(test_input) == expected_output ``` 在上面的代码中,read_data函数用来读取YAML文件中的测试数据,然后将其返回。@pytest.mark.parametrize装饰器用来将测试数据传递给test_my_function函数,其中test_input和expected_output分别对应YAML文件中的输入数据和期望输出数据。最后,我们可以在test_my_function函数中编写测试逻辑,从而完成数据驱动测试。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值