gpt4 book ai didi

异步和等待方法的 Python pytest 用例

转载 作者:太空狗 更新时间:2023-10-29 21:38:45 25 4
gpt4 key购买 nike

我正在尝试为以下异步、等待方法编写 pytest,但我一无所获。

   class UserDb(object):
async def add_user_info(self,userInfo):
return await self.post_route(route='users',json=userInfo)

async def post_route(self,route=None,json=None,params=None):
uri = self.uri + route if route else self.uri
async with self.client.post(uri,json=json,params=params) as resp:
assert resp.status == 200
return await resp.json()

有人可以帮我解决这个问题吗?时间差

最佳答案

pip install pytest-aiohttp,然后像这样创建一个 fixture

from pytest import fixture

def make_app():
app = Application()
# Config your app here
return app

@fixture
def test_fixture(loop, test_client):
"""Test fixture to be used in test cases"""
app = make_app()
return loop.run_until_complete(test_client(app))

现在编写你的测试

f = test_fixture

async def test_add_user_info(f):
resp = await f.get('/')
assert resp.status == 200
assert await resp.json() == {'some_key': 'some_value'}

我还注意到您的 add_user_info 协程没有返回任何内容。更多信息是 here

关于异步和等待方法的 Python pytest 用例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45944158/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com