0
点赞
收藏
分享

微信扫一扫

pytest封装接口测试框架

pytest封装接口自动化测试

pytest是一个Python的单元测试框架,它可以很好地支持接口自动化测试。要使用pytest进行接口测试,需要进行如下步骤:

  1. 安装pytest

使用pip安装pytest:

pip install pytest

  1. 安装requests

使用pip安装requests库:

pip install requests

  1. 创建测试用例

编写测试用例,使用requests库发送HTTP请求,然后断言响应结果是否符合预期。

例如,假设有一个简单的接口:

bash

GET /hello?name=world

返回如下JSON格式的响应:

json

{
    "message": "Hello, world!"
}

可以编写如下的测试用例:

python

import requests

def test_hello():
    url = 'http://localhost:8000/hello?name=world'
    resp = requests.get(url)
    assert resp.status_code == 200
    assert resp.json() == {'message': 'Hello, world!'}

在这个测试用例中,首先发送了一个GET请求到指定的URL,然后使用断言语句判断响应状态码是否为200,以及响应结果是否与预期相符。

  1. 运行测试用例

在命令行中执行如下命令来运行测试:

pytest test_api.py

其中test_api.py是包含测试用例的文件名。pytest会自动发现并运行其中的测试用例,输出测试结果。

可以使用pytest提供的很多选项来定制测试行为,例如指定测试文件或目录、输出测试结果、指定测试环境等。

  1. 封装测试框架

可以将测试用例封装在一个类中,并添加setUp和tearDown方法来初始化和清理测试环境。

例如,可以创建一个名为TestApi的类,并将测试用例和相关方法放到其中:

python

import requests

class TestApi:
    def setup(self):
        # 初始化测试环境
        self.base_url = 'http://localhost:8000'

    def teardown(self):
        # 清理测试环境
        pass

    def test_hello(self):
        url = f'{self.base_url}/hello?name=world'
        resp = requests.get(url)
        assert resp.status_code == 200
        assert resp.json() == {'message': 'Hello, world!'}

在这个封装的测试框架中,setUp方法用于初始化测试环境,tearDown方法用于清理测试环境。test_hello方法是实际的测试用例,其中使用了self.base_url来构造请求URL。使用这种方式可以更好地组织和管理测试用例。

举报

相关推荐

0 条评论