plugin.py:271: PytestWarning: 无法生成报告:没有要报告的数据

时间:2021-07-15 22:09:29

标签: pytest pytest-cov

我使用

运行pytest
BOTO_CONFIG=none pytest --cov-report xml --cov=src/ tests/unittests/

当我在本地 (Mac OS) 运行它时,它运行良好并生成覆盖率。

但是当我将代码上传到服务器时,服务器上的脚本使用相同的行,但产生警告而不是覆盖:

WARNING: Failed to generate report: No data to report.
----------- coverage: platform linux, python 3.7.1-final-0 -----------

============================= 78 passed in 20.05s ==============================
Coverage.py warning: No data was collected. (no-data-collected)
/home/travis/virtualenv/python3.7.1/lib/python3.7/site-packages/pytest_cov/plugin.py:271: PytestWarning: Failed to generate report: No data to report.

  self.cov_controller.finish()
The command "BOTO_CONFIG=none pytest --cov-report xml --cov=src/ tests/unittests/" exited with 0.

我尝试添加 pip freeze 来部署脚本,并将我的虚拟环境设置为相同

在这一点上,我看到两种环境之间的唯一区别是 Ubuntu 与 Mac OS - 这应该没有区别。

可能导致问题的原因是什么?

我可以检查的两种环境之间可能存在哪些细微差别?

我能做些什么来获得更详细的错误描述?

更新:

有一条评论说我需要一些可重现的东西。这正是我想要做的。

我注意到我在本地有更新版本的 Python。因此,我将 python 降级为 3.7.1,将 pip 降级为 20.1.1

python --version pip --version 在本地和服务器上产生相同的响应。

然后我创建了一个新的虚拟环境并确保 pip freeze 产生与服务器上相同的输出。

然后我在服务器上运行了相同的 pytest 命令:

BOTO_CONFIG=none pytest --cov-report xml --cov=src/ tests/unittests/

...它产生了覆盖率

与此同时,服务器仍然没有生成覆盖范围。

我还能尝试什么?

还有什么不同?

0 个答案:

没有答案