使用unittest如何断言判断api接口返回的资源是否为bytes二进制数据

按惯例,先上代码:
import unittest
import requests

class APITestCase(unittest.TestCase):
    def test_resource_is_binary_data(self):
        # 发送 POST 请求并获取返回的资源
        url = "http://your-api-endpoint"
        # 配置请求头
        headers = {
            "Content-Type": "application/json",
            "Authorization": "Bearer your_token", # 可略
        }
        data = {
            # 构造请求的数据
        }
        response = requests.post(url, data=data, headers=headers)
        # 如果data是放在body中,以json形式下发请求的话使用下面的方式
        # response = requests.post(url, json=data, headers=headers)
        # 通过response.status_code判断状态码,response.content为返回的内容
        resource = response.content

        # 判断资源是否为二进制数据
        self.assertIsInstance(resource, bytes)

在上述示例中,你需要将 “http://your-api-endpoint” 替换为实际的 API 端点 URL,并根据 API 的要求构造 POST 请求的数据。headers 字典中包含了要设置的请求头信息。示例中设置了 “Content-Type” 和 “Authorization” 两个常见的请求头字段,你可以根据实际需要添加或修改其他请求头字段。

在 requests.post() 方法中,通过 json=data 参数将数据作为 JSON 格式发送,并通过 headers=headers 参数设置请求头信息。


– 扩展阅读 –

使用 assertIn() 方法来断言一个字典是否包含某个属性:
import unittest

class MyDictTestCase(unittest.TestCase):
    def test_dict_has_attribute(self):
        my_dict = {"foo": 42, "bar": "Hello"}

        self.assertIn("foo", my_dict)
        self.assertNotIn("baz", my_dict)

使用 assertIn() 和 assertNotIn() 方法来进行断言。assertIn(“attribute”, my_dict) 断言字典 my_dict 是否包含指定的属性(即键),如果存在则断言成功,否则断言失败。

在示例中,第一个断言会成功,因为 “foo” 是 my_dict 的一个键。第二个断言也会成功,因为 “baz” 不是 my_dict 的一个键。

通过使用 assertIn() 和 assertNotIn() 方法,你可以在单元测试中断言一个字典是否包含某个属性,以验证字典的内容是否符合预期。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

天河书阁 VicRestart

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值