接口测试python--pytest+requests(pipenv下使用)

博客介绍了单元测试的运行,给出两个例子,其中例子2使用pytest和requests进行单元测试,并展示了执行结果,能快速找出错误。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

运行单元测试

  • pipenv run python -m pytest xx.py
  • pytest -q xx.py
例子1
## 测试加减法
class TestDemo:
    @pytest.mark.parametrize("a, b, expected",
                             [(1, 2, 3), (2, 3, 5), (3, 4, 8)])
    def test_add(self, a, b, expected):
        sum = a+b
        assert sum == expected

    @pytest.mark.parametrize("a, b, expected",
                             [(1, 2, -1), (8, 3, 5), (3, 4, 8)])
    def test_sub(self, a, b, expected):
        sub = a-b
        assert sub == expected

在这里插入图片描述
在这里插入图片描述
你看,一下子就找出错误啦~

例子2 pytest+requests
# 基于pytest requests测试接口
class TestRequestsDemo:
    # 初始化
    url = "http://jsonplaceholder.typicode.com"
    session = requests.session()

    #测试获得所有用户信息接口
    def test_get_posts(self):
        r = self.session.get(self.url+'/posts')
        # 断言状态码
        assert r.status_code == 200
        #断言响应头信息
        assert r.headers['Content-Type'] == "application/json; charset=utf-8"
        #断言用户总数
        assert len(r.json()) == 100

     # 获得指定用户的信息接口
    def test_get_posts_by_id(self):
        r = self.session.get(self.url+'/posts/1')
        #断言状态码
        assert r.status_code == 200
        #断言响应头信息
        assert r.headers["Content-Type"] == "application/json; charset=utf-8"
        #验证用户id
        data = r.json()
        assert data['userId']  == 1

    #测试删除指定用户信息接口
    def test_delete_posts_by_id(self):
        r = self.session.delete(self.url+'/posts/1')
        #断言状态码
        assert r.status_code == 200
        #断言响应头信息
        assert r.headers['Content-Type'] == "application/json; charset=utf-8"

执行结果:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值