Pytest对协程异步函数进行单元测试

安装

安装基础包 pytest,pytest-asyncio

pip install pytest pytest-asyncio

测试:

pytest -s -v ./python-code/do-async/aiohttp_session_pytest.py

image.png

书写规范

  1. 类名必须以 Test 开头
  2. 方法和函数名必须以test开头
class  TestAddFunc(object):  # 测试用例的类名必须以 Test 为开头
    def test_01(self):  # 方法名和函数名必须以 test 为开头
        print(add(10,20))

    def test_02(self):
        print(add(10, 20))

    def test_03(self):
        print(add(10, 20))

运行

命令行运行:

格式:

pytest -s  -v 文件名

# -s:输出测试用例中的print打印的信息
# -v: 输出测试用例的类名和方法名
# -x: 一旦发现测试用例失败,立即停止运行
# no:warnings: 不显示警告

通过Pycharm 运行:

直接点击左侧的绿色箭头,就能运行单元测试
image.png

通过pytest.main()运行:

格式:

# pytest.main(["模块文件名::类名::方法名字","参数"])
pytest.main(["./demo/pytest_01.py","-sv"])
# pytest.main(["./demo/pytest_01.py::TestAddFunc","-sv"])
# pytest.main(["./demo/pytest_01.py::TestAddFunc::test_01","-sv"])
if __name__ == '__main__':
    pytest.main(["./asyncio_session_pytest.py::TestAsyncioRequest::test_async_req_session", "-sv"])

image.png

总结

这是简单的pytest 测试协程异步的教程,主要是用来测试同步请求,aiohttp的session复用,不复用的请求性能比较,源码地址:
码云上

  • 9
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 好的,我们可以这样使用 pytest 来测试 get_addr 函数: 首先,我们需要安装 pytest。你可以使用 pip 安装: ``` pip install pytest ``` 然后,我们可以在 get_addr 函数所在的模块中创建一个以 test_ 开头的函数,用来测试 get_addr 函数。 例如: ``` def test_get_addr(): # 调用 get_addr 函数,并断言返回值为预期的值 assert get_addr() == '北京市' ``` 最后,我们在命令行中运行 pytest 即可进行测试: ``` pytest ``` pytest 会自动查找以 test_ 开头的函数,并运行这些函数,并输出测试结果。 ### 回答2: 使用pytest对get_addr函数进行测试,可以按照以下步骤进行: 1. 导入pytest模块和被测模块:在测试脚本中,首先需要导入pytest模块和需要进行测试的被测模块,确保可以正确调用被测函数进行断言。 2. 编写测试函数:在测试脚本中,编写一个或多个测试函数,用于对get_addr函数的不同方面进行测试。例如可以编写一个测试函数test_get_addr_success,测试get_addr函数在正常输入情况下是否能够成功返回正确的地址信息。 3. 调用被测函数进行断言:在测试函数中,调用被测函数并使用assert语句判断返回值是否符合预期。例如在test_get_addr_success函数中,可以调用get_addr函数,并使用assert断言语句判断返回的地址信息是否与预期一致。 4. 运行测试脚本:在命令行窗口中,进入测试脚本所在的目录,并运行pytest命令,执行对get_addr函数的测试。 5. 查看测试结果:pytest会自动执行测试脚本,并输出测试结果。在命令行窗口中查看测试结果,可以看到测试通过的用例会显示".",测试失败的用例会显示"F",同时会显示测试用例的执行时间和失败的具体原因。 6. 分析测试结果:根据测试结果,可以分析哪些测试用例通过,哪些失败,进而确定是否需要对代码进行修复或优化。 通过以上步骤,可以使用pytest对get_addr函数进行测试,验证其功能是否正确,同时也可以提高代码的质量和可靠性。 ### 回答3: pytest是一个Python单元测试框架,可以用来对函数进行测试。要对get_addr函数进行测试,首先需要创建一个测试文件,并且引入get_addr函数所在的模块。 测试文件的命名一般为test_开头,可以命名为test_get_addr.py。在测试文件中,首先需要引入pytest和get_addr函数所在的模块。 ```python import pytest from module import get_addr ``` 然后,可以使用pytest装饰器来标记测试用例。一个测试用例对应一个测试函数。可以使用pytest的assert断言来判断函数的输出是否符合预期。 ```python def test_get_addr(): # 模拟输入参数 input_param = 1234 # 期望的输出结果 expected_result = "address" # 调用get_addr函数并获取实际输出结果 actual_result = get_addr(input_param) # 使用pytest的断言判断实际输出结果是否与期望输出结果一致 assert actual_result == expected_result ``` 可以在命令行中进入测试文件所在的目录,然后运行pytest命令来执行测试。 ```shell pytest test_get_addr.py ``` 如果所有的测试用例都通过了,那么会显示测试通过的信息。如果有测试用例失败了,会显示失败的信息,包括具体是哪个测试用例失败了以及失败的原因。 这样,就可以使用pytest对get_addr函数进行测试了。通过测试可以验证函数的正确性,确保其能按照预期工作。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值