我正在使用ASGI服务器在django上为fastAPI编写测试(已对此tutorial进行了修改)。我在测试的fastAPI方面不断返回错误,但我一直在徒劳地修复它。
我需要创建一个用户来测试API。
@sync_to_async
def _create_user(self, username, email):
try:
return User.objects.create(username=username, email=email)
except:
return None
async def setUp(self):
task = asyncio.create_task(self._create_user(username="user", email="email@email.com"))
self.user = await task
运行该测试,结果发现self.user
是一个协程,无法访问我期望的属性。
如何解决这个问题?
更新:
已删除_create_user(self, username, email)
的异步。
答案 0 :(得分:0)
根据文档https://docs.djangoproject.com/en/3.1/topics/async/#asgiref.sync.sync_to_async 装饰器sync_to_async应该装饰同步功能。 (请参见示例)