如何配置PyCharm的覆盖检查程序以识别.coveragerc?

2024-04-28 14:00:29 发布

您现在位置:Python中文网/ 问答频道 /正文

我在项目的根目录下有一个.coveragerc文件。它告诉我们覆盖率.py要忽略项目的迁移目录:

[run]
omit = *migrations*

当我在命令行运行coverage.py时,我放入的配置.coveragerc将被遵守。在

但是,PyCharm不认识它。有没有我错过的场景?在

如果PyCharm没有办法识别.coveragerc,我很乐意只使用一种方法来省略这些目录。在


Tags: 文件项目run命令行py目录migrationscoverage
3条回答

https://youtrack.jetbrains.com/issue/PY-16945有一个对此的功能请求

我发现自己处在一个非常需要这个的境地。我的travis跑步跑得很好,工作服也很正常,但我无法在PyCharm中正常工作。在

这件事有点老套,但希望它能帮助人们:

在我的根项目目录中,我得到了一个.coveragerc

[run]
omit = ./venv
concurrency = multiprocessing
parallel = True
source = HookTest
data_file = .cache/.coverage

我“砍掉”了一点_覆盖率.py关于PyCharm:(PyCharm-2016.3.2/helpers/coverage_runner/run_覆盖率.py)在

开始于

^{pr2}$

替换为:

argv = []
for arg in sys.argv:
    if arg.startswith('-m') and arg[2:]:
        argv.append(arg[2:])
    else:
        argv.append(arg)

cwd = os.getcwd()

rcfile = cwd + "/.coveragerc"
if os.path.exists(rcfile):
    print("Loading rcfile")
    i = argv.index("run")+1
    argv = argv[:i] + ["--rcfile={}".format(rcfile)] + argv[i:]

sys.argv = argv

try:
    main()
finally:
    if run_cov:
        os.chdir(cwd)
        if os.getenv('COVERAGE_COMBINE'):
            main(["combine"])
        main(["xml", "-o", coverage_file + ".xml", "--ignore-errors"])

用python运行设置.py测试时,我在PyCharm中创建了一个脚本,使用said设置.py,使测试具有参数,并且覆盖率_组合为全局环境。它可能不是最好的解决方案,但至少它允许我在本地工作时不再使用HTML输出:)

有一种方法可以让PyCharm忽略某些文件和文件夹:

Settings中选择Project: ...-Project Structure。在这里,您可以将文件夹标记为Excluded或排除文件。在

PyCharm的代码覆盖率报告也会忽略所有被排除的文件。在

相关问题 更多 >