问题标签 [pytest-cov]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
docker - 在容器停止运行之前将文件复制到主机
我在 docker 容器中运行 Flask 应用程序,将其与 postgres 容器链接,并使用 pytest 进行测试。如果我运行命令
我的测试运行了,我可以看到输出,但是如何cov_html
在这个容器停止运行之前复制覆盖目录?我希望能够在我的浏览器中以 html 格式查看覆盖率报告。
我当前的解决方法非常hacky,docker run -it --env-file=.env --link postgres-test app bash
然后pytest
直接在容器中运行,而容器仍在运行时,我docker cp
进入本地目录。
我宁愿只运行类似于原始命令的东西,当 pytest 完成时,本地目录会被最新的覆盖率报告覆盖,所以我需要做的就是刷新浏览器来查看更改。
python - web.py 应用程序上的 Pytests 不包括方法代码
首先,很抱歉,如果 linguo 不是 100% 正确或某些东西没有 100% 的意义,我对 Web 应用程序开发和一般堆栈溢出的发布还是很陌生。
我有一个 web.py 应用程序,需要使用 pytest 测试其功能并使用pytest-cov
. 我让测试工作并对响应进行断言,但是当我生成代码报告时,方法内的所有代码行都没有被发现,因此测试覆盖率非常低(23%)
我通过 cmd 在我的存储库中成功运行pytest --cov
并获得了覆盖结果。但后来我尝试使用coverage run -m pytest test_Server.py
并运行coverage report
以获得更多细节。
在这份报告中,我可以看到我遗漏了哪些代码行,并且除了每个方法/类的定义之外,我遗漏了所有这些代码。
我尝试过的另一件事是pytest --cov=Server.py
,这给了我错误
服务器.py
测试服务器.py
这是我目前正在运行的一个非常简化的版本,我设法通过一种或另一种方式使测试正常工作并正确断言响应。
我期望的是方法中的代码被测试覆盖,但实际输出告诉我只覆盖了方法的定义,没有其他内容。
python - 如何将 thrift 服务器或 TCP 服务器作为 pytest 夹具运行?
平台 linux2, python 2.7.12-final-0
我的集成测试 ping 外部服务器,但我想更改它以使用测试夹具。
几天来,我一直在尝试将 Thrift 库 TCP 服务器作为 pytest 中的会话范围固定装置运行。我已经尝试将服务器作为后台线程运行,这样我的测试就不会被阻止运行。
对于我的每个测试,我从 pytest 库代码中得到一个错误:
这是一个我没有找到很好的文档或支持的问题,所以我不得不问这个问题..如何将 TCP 服务器设置为我的测试可以使用的 pytest 夹具?
作为推论,这是我应该自己动手的情况,还是有一个好的插件来支持这个 pytest 用例?同样,我的搜索在这方面几乎没有出现。
python - 关键 - 在 Travis CI 中运行时出错| pytest
在 Travis CI 上运行 Pytest 时,我收到 Key -Error。请在下面找到我的程序:
对应的pytest如下:
上面的测试在我的本地机器上成功运行。但不是我 Travis CI,请找到 Travis CI 日志的链接:
https://travis-ci.org/pythonprogsnscripts/geekttrustproblems/builds/570241873
如果退伍军人可以提出一些想法,那就太好了
django - 为什么 PyTest 覆盖率报告中缺少我项目的大部分 Django 文件?
我正在运行pytest-cov
和pytest-django
使用tox
. 我有一个非常简单的tox.ini
文件,文件有限omit
。问题是当我运行pytest
using时tox -e unit
,我得到一个有限的覆盖率报告:
我所有的 Django 应用程序components
都有许多文件应该包含在报告中,包括apps
、serializers
、signals
、urls
和views
(标准 Django 结构)。有人知道我缺少什么吗?我在 , , 和 的各种文档中所读到的tox.ini
内容似乎与我在 、 、 和 的各种文档中所读到的完全一致pytest
,pytest-django
但 pytest-cov
我coverage
一定遗漏了一些重要的东西!
tox.ini
python-3.x - 在 Travis-CI 中测试 CLI 应用程序时,Pytest 覆盖返回不同的覆盖结果
我的项目是一个 python CLI 应用程序,我使用 Travis 作为 CI。我使用脚本在本地测试它
它给了我结果
但是,当它在 Travis 中运行时,结果只有
您可以在travis中看到完整的日志。
我相信问题的根源在于,因为它是一个 CLI 应用程序,所以我使用它进行测试subprocess.run(CLI_COMMAND)
,使得 pytest-cov 无法检测到来自子进程的跟踪。但它适用于我的本地机器。
当我检查 travis 覆盖结果中缺少的行时,看起来函数的主体都被忽略了。
我怀疑这可能是因为不同的 Python 环境(与sys.settrace
行为有关)。
python-3.x - 在现有 Python/Flask 应用程序上实现代码覆盖率和单元测试
无法让这个实现下来。
我需要什么:我现有的烧瓶应用程序的代码覆盖率结果,最好使用与 pytest 兼容的单元测试。
我所看到的:我只看到在我的应用程序启动时执行的行的覆盖范围。当我使用 pytest 或 postman 向我的服务器发送请求时,覆盖率指标不会改变。也就是说,我可以启动服务器、停止它,并获得与启动它、发送请求和停止它相同的结果。
我已经使用 pytest、pytest-cov 和 coverage.py 进行了调查。
我在 site_packages 中实现了 sitecustomize.py 覆盖插件解决方法以支持子进程覆盖,但没有效果。
我正在运行这样的覆盖服务器:
coverage run --source . app.py -m
然后在一个新的终端中,我像这样运行 pytest:
pytest
然后我 ctrl+c 服务器,运行
coverage report -m
查看我的输出。
我的 app.py 有这样的内容:
理想情况下,我想运行一个命令来启动 app.py 服务器,执行 pytest,并记录实际的代码覆盖率。有人遇到过这样的事情吗?
python - 没有名为“后端”的模块 [pytest 覆盖率]
我有这样的结构:
当我运行命令时:
我得到:
为什么不能导入库?
当结构是这样的:
正确执行。
如何使用第一个显示的结构在我的项目中运行覆盖?
celery - 使用 Pytest,是否可以从 celery 运行的子进程中获取覆盖信息?
我正在使用 Pytest 测试 Python 应用程序:
pytest -s --cov=myApp
然而,我的应用程序的一个进程与 Celery 异步运行。测试模块正确运行 Celery 进程,但我没有得到任何覆盖率信息。
是否可以从 celery 运行的进程中获得覆盖?
我查看了Celery testing,但我不想直接/单独测试异步进程,因为我想检查 MyAPP 中的进程如何使用任务 ID 执行其他操作。
我还用 --cov 添加了任务模块,但我仍然没有得到任何覆盖
python - pytest-cov 不使用新的覆盖版本 5.X 生成报告,适用于覆盖版本 4.4.2
我有以下tox.ini项目
默认情况下 my 中没有版本控制tox-requirements.txt
,当它安装时,它总是安装最新的包。但它在coverage-badge -o coverage.svg -f
命令上失败了。
如果我尝试手动运行覆盖率,它会起作用并生成报告
当我检查coverage
版本时coverage==5.0.1
,如果我安装旧版本,4.4.2
那么它tox
也可以使用命令。
之后我尝试了tox
。
我们是否必须添加任何新标志才能使其正常工作pytest-cov
?