据我所知,“测试覆盖率”功能仅在专业版中可用(代码覆盖率)。
如何在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
目录开始运行命令。
这样做可以运行单元测试并显示覆盖率报告。
另一个有趣的选项是创建HTML报告。如果您有此需求,请使用以下命令:
coverage run --source=./unittests -m unittest discover -s unittests/ && coverage html
这样将会添加一个新文件夹,其中包含HTML报告的所有源代码。
Coverage软件包有很多选项,可以以不同方式进行自定义设置,因此请查看文档。
pip install coverage
然后运行给定的命令(Django 应用程序)
coverage run --source='.' manage.py test --keepdb
coverage report --skip-covered -m
unittest discover
是一个关键词短语,因此您不应更改它。您需要更改命令的唯一部分以匹配测试目录是--source=./unittests
和-s unittests/
。 - Floating Sunfish