代码之家  ›  专栏  ›  技术社区  ›  adder

.coveragerc找不到要忽略的文件

  •  0
  • adder  · 技术社区  · 7 年前

    我正在使用 tox 使用自动运行测试 pytest pytest-cov 插件。但是,我正在获取我忽略的文件的覆盖率报告 .coveragerc :

    (env) alex@smartalex-pc:~/.repos/codelib/github/project$ tox
    
    [...]
    
    ../../../tests/test_module1.py::test_func PASSED  [  3%]
    
    [...]
    
    ../../../tests/test_module2.py::test_func PASSED  [100%]
    
    ----------- coverage: platform linux, python 3.6.7-final-0 -----------
    Name                                                                                                   Stmts   Miss  Cover
    --------------------------------------------------------------------------------------------------------------------------
    /home/alex/.repos/codelib/github/project/.tox/py36/lib/python3.6/site-packages/package/__init__.py             0      0   100%
    /home/alex/.repos/codelib/github/project/.tox/py36/lib/python3.6/site-packages/package/__main__.py             2      2     0%
    /home/alex/.repos/codelib/github/project/.tox/py36/lib/python3.6/site-packages/package/application.py         40      0   100%
    /home/alex/.repos/codelib/github/project/.tox/py36/lib/python3.6/site-packages/package/core.py                73      0   100%
    /home/alex/.repos/codelib/github/project/.tox/py36/lib/python3.6/site-packages/package/user_interface.py      45      0   100%
    --------------------------------------------------------------------------------------------------------------------------
    TOTAL                                                                                                        160      2    99%
    

    似乎 托克斯 不使用我的 覆盖层 . 我试图用 --cov-config={toxinidir}/.coveragerc 但是我又得到了同样的结果。

    简化项目结构:

    package/
        __init__.py
        __main__.py
        application.py
        core.py
        user_interface.py
    tests/
        test_module1.py
        test_module2.py
    .coveragerc
    pytest.ini
    setup.py
    tox.ini
    

    这是我的 tox.ini :

    [tox]
    envlist = py36
    
    [testenv]
    changedir = {envtmpdir}
    deps = 
        trio
        -r dev-requirements.txt
    commands =
        pytest -v {toxinidir}/tests --cov=package --cov-config={toxinidir}/.coveragerc
    

    这是我的 覆盖层 :

    [run]
    omit =
        package/__main__.py
        package/__init__.py
    

    这是我的 pytest.ini :

    [pytest]
    trio_mode = true
    

    我认为这已经足够了,但是如果您需要更多的输出/信息,请告诉我。

    我如何克服这个问题?

    1 回复  |  直到 7 年前
        1
  •  1
  •   Moldovan Daniel    7 年前

    将覆盖范围更改为:

    [run]
    omit =
        */package/__main__.py
        */package/__init__.py
    
    推荐文章