【发布时间】:2021-02-02 21:41:18
【问题描述】:
在这个单元测试中,我想检查设备是否已经创建,并且到期日期是未来 7 天。
database.py
import databases
database = databases.Database(settings.sqlalchemy_database_uri)
单元测试:
from database.database import database
def test_successful_register_expiry_set_to_seven_days():
response = client.post(
"/register/",
headers={},
json={"device_id": "u1"},
)
assert response.status_code == 201
query = device.select(whereclause=device.c.id == "u1")
d = database.fetch_one(query)
assert d.expires_at == datetime.utcnow().replace(microsecond=0) + timedelta(days=7)
因为d 是一个协程对象,所以它会失败并显示以下消息:
AttributeError: 'coroutine' object has no attribute 'expires_at'
我不能在单元测试中使用await。
d = await database.fetch_one(query)
请问我错过了什么?
【问题讨论】:
标签: python sqlalchemy fastapi