Случаи Python pytest для метода async и await
Я пытаюсь написать pytest для следующих методов async, await, но я никуда не иду.
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()
может кто-нибудь помочь мне с этим? ТИА!--2-->
1 ответов
pip install pytest-aiohttp
, затем создайте такое приспособление
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
coroutine ничего не возвращает.
Больше информации здесь