python - 异步方法的 Python 覆盖率
问题描述
我使用 aiohttp、pytest 和 pytest-cov 来覆盖我的代码。我想获得更好的覆盖率<但现在我有点卡住了,因为事件简单代码没有显示 100% cov。例如这段代码:
@session_decorator()
async def healthcheck(session, request):
await session.scalar("select pg_is_in_recovery();")
return web.json_response({"status": "ok"})
在覆盖率报告中,它显示未覆盖与 return 的行。
我已阅读此链接Code coverage for async methods。但这是针对 C# 的,我无法理解:
如果您正在等待的操作在等待之前完成,则最常发生这种情况。
我运行测试的代码:
python3.9 -m pytest -vv --cov --cov-report xml --cov-report term-missing
我对上面代码的测试
async def test_healthz_page(test_client):
response = await test_client.get("/healthz")
assert response.status == HTTPStatus.OK
解决方案
推荐阅读
- android - 如何防止admob在后台工作
- python - 完成脚本中的断言?
- docker - 卷值'不匹配任何正则表达式:u'^[a-zA-Z0-9._-]+$' - elasticsearch docker-compose中的错误
- c# - 使用实体框架(C#),有没有办法加密字段,以便只有在用户登录时才能解密它们?
- linux - LVM Linux。我的任务中的 LE 是什么意思?可能是错字
- c++ - 基于 C++ QMap 在 QML 中动态创建元素的最佳方法
- excel - chrome 中的检查元素在网站上没有显示任何 id 框,我如何找到它?包含代码
- python - 如何使用 Selenium 和 Python 更改用户代理
- oauth-2.0 - 是否可以集成 2 个具有不同 OAuth2 授权类型的应用程序?
- php - 访问 WordPress index.php 响应网站目录内容文件