关联关系的接口+unittest实现关联接口

 关联关系的接口:

import requests

def login():
    url = 'http://ip/api/user/login'
    data = {'username':'niuhang','passwd':'aA123'}
    res = requests.post(url,data).json()
    user_id = res.get('login_info').get('userId')
    sign = res.get('login_info').get('sign')
    return user_id,sign
def add_gold():
    url = 'http://ip/api/user/gold_add'
    data = {'stu_id':510,'gold':509}
    userid,sign = login()
    cookies = {'niuhag':sign}
    res = requests.post(url,data,cookies=cookies).json()
    if res.get('error_code') == 1000:
        print('测试通过')
    else:
        print('测试失败结果是',res)
add_gold()

 unittest实现关联接口:

import unittest,requests
class GoldTest(unittest.TestCase): # 注意:继承的是TestCase

    def login(self):
        print('这是登陆的函数')
        url = 'http://ip/api/user/login'
        data = {'username': 'niuhag', 'passwd': 'aA123'}
        res = requests.post(url, data).json()
        user_id = res.get('login_info').get('userId')
        sign = res.get('login_info').get('sign')
        return user_id, sign

    def test_gold_add(self):
        url = 'http://ip/api/user/gold_add'
        data = {'stu_id': 510, 'gold': 509}
        userid, sign = self.login()  # 与第一段代码有区别,为self.login(),类里面调用
        cookies = {'niuhang': sign}
        res = requests.post(url, data, cookies=cookies).json()
        self.assertEqual(res.get('error_code'),1000) # 判断返回的error_code和1000是否相等,unittest会自动判断并返回结果,不需要自己再适用if判断

unittest.main()

 

函数名若以test开头,则unittest会自动运行该函数,故若不想重复运行某个函数,则函数名不能以test开头

转载于:https://www.cnblogs.com/Noul/p/9943595.html

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
unittest 是 Python 自带的一个单元测试框架,可以用来测试代码中的函数、类等单元。而 excl 则是一个 Python 的 HTTP 客户端库,可以用来进行接口测试。 下面是一个使用 unittest 和 excl 进行接口测试的示例: ```python import unittest import excl class TestApi(unittest.TestCase): def setUp(self): self.client = excl.Client('http://example.com/api') def test_get_user(self): response = self.client.get('/users/1') self.assertEqual(response.status_code, 200) self.assertEqual(response.json()['name'], 'Alice') def test_create_user(self): user_data = {'name': 'Bob', 'email': 'bob@example.com'} response = self.client.post('/users', json=user_data) self.assertEqual(response.status_code, 201) self.assertEqual(response.json()['name'], 'Bob') self.assertEqual(response.json()['email'], 'bob@example.com') if __name__ == '__main__': unittest.main() ``` 在这个示例中,我们首先定义了一个 TestApi 类,继承自 unittest.TestCase。在 setUp 方法中,我们创建了一个 excl 客户端,用于发送 HTTP 请求。然后我们分别定义了两个测试函数,一个测试 GET 请求,一个测试 POST 请求。在测试函数中,我们发送 HTTP 请求并检查响应状态码和返回的 JSON 数据是否符合预期。最后,在 if __name__ == '__main__': 中运行测试。 这个示例只是一个简单的例子,实际中可能需要更多的测试用例和更复杂的测试逻辑。但是通过 unittest 和 excl 的配合,可以方便地进行接口测试,并保证代码的质量。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值