PyCharm:社区版的覆盖范围?
PyCharm: Coverage in community edition?
据我所知,“测试覆盖率”功能仅在专业版 (code-coverage) 中可用。
如何使用 PyCharm 社区版本查看我的测试的代码覆盖率?
如您所知,测试覆盖率功能仅在专业 PyCharm 版本中可用。
可以做的是使用外部 Python 包来执行测试套件的覆盖。此包名为 coverage。
您可以使用以下命令轻松安装它:
pip install coverage
然后,您可以直接通过PyCharm终端使用它(确保解释器是正确的)。
这里有一个简单的例子:
假设你有这样一个项目结构
- project_name
- src
- some_code.py
- unittests
- test_1.py
- test_2.py
为了 运行 所有单元测试文件夹,您必须在 PyCharm 终端中输入以下命令:
coverage run --source=./unittests -m unittest discover -s unittests/ && coverage report
请注意,在此示例中,我从 project_name
目录启动命令。
这样,unittests就会运行,还会显示一个coverage
另一个有趣的选项是创建一个 HTML 报告。如果您有兴趣这样做,请使用以下命令:
coverage run --source=./unittests -m unittest discover -s unittests/ && coverage html
这样将添加一个新文件夹,其中包含 HTML 报告的所有来源。
覆盖包有很多选项,可以用不同的方式自定义它,所以检查 documentation。
首先你需要安装覆盖
pip install coverage
然后 运行 给定命令(django 应用程序)
coverage run --source='.' manage.py test --keepdb
coverage report --skip-covered -m
您可以为此使用 PyCrunch 插件。
作为奖励,当受影响的文件发生变化时,测试将重新运行。
披露:我是这个插件的作者
据我所知,“测试覆盖率”功能仅在专业版 (code-coverage) 中可用。
如何使用 PyCharm 社区版本查看我的测试的代码覆盖率?
如您所知,测试覆盖率功能仅在专业 PyCharm 版本中可用。
可以做的是使用外部 Python 包来执行测试套件的覆盖。此包名为 coverage。
您可以使用以下命令轻松安装它:
pip install coverage
然后,您可以直接通过PyCharm终端使用它(确保解释器是正确的)。
这里有一个简单的例子:
假设你有这样一个项目结构
- project_name
- src
- some_code.py
- unittests
- test_1.py
- test_2.py
为了 运行 所有单元测试文件夹,您必须在 PyCharm 终端中输入以下命令:
coverage run --source=./unittests -m unittest discover -s unittests/ && coverage report
请注意,在此示例中,我从 project_name
目录启动命令。
这样,unittests就会运行,还会显示一个coverage
另一个有趣的选项是创建一个 HTML 报告。如果您有兴趣这样做,请使用以下命令:
coverage run --source=./unittests -m unittest discover -s unittests/ && coverage html
这样将添加一个新文件夹,其中包含 HTML 报告的所有来源。
覆盖包有很多选项,可以用不同的方式自定义它,所以检查 documentation。
首先你需要安装覆盖
pip install coverage
然后 运行 给定命令(django 应用程序)
coverage run --source='.' manage.py test --keepdb
coverage report --skip-covered -m
您可以为此使用 PyCrunch 插件。
作为奖励,当受影响的文件发生变化时,测试将重新运行。
披露:我是这个插件的作者