.coveragerc file location when running py.test

12,068

Reading the pytest documentation again and again...I found my "mistake":
Here it says:

Note that this plugin controls some options and setting the option in the config file will have no effect. These include specifying source to be measured (source option) and all data file handling (data_file and parallel options).

So my test was useless because the data_file option in .coveragerc has no effect.

I tested with the omit option and it worked!

.coveragerc has to be placed in the basepath as described above (and expected)

Share:
12,068
Christian Scholz
Author by

Christian Scholz

Software Developer and CEO. Python, Django, Elasticsearch Professional in Germany Blogs: einfachpython.de einfachtesla.de pypromed.de

Updated on July 20, 2022

Comments

  • Christian Scholz
    Christian Scholz almost 2 years

    I am trying to get a pytest run to work with a coveragerc file. Settings in my .coveragerc file are not used, so I guess the file is not used at all.

    See my project structure and pytest calls below! What am I doing wrong?

    Project:

    basepath/lib/
    basepath/.coveragerc
    basepath/test/test_lib
    basepath/test/run.py
    

    I call test/run.py from virtualenv

    basepath$ python test/run.py
    

    run.py

    import pytest
    pytest.main('test/test_lib -v --cov-report xml --cov lib --cov-config .coveragerc')
    

    I tried to move .coveragerc in different directories i.e. lib/, test/, test/test_lib/ but none of them worked.

    I expected to get a coverage file named "xxxcoverage" as set in .coveragerc but I always got the default one .coverage

    .coveragerc

    [run]
    data_file = xxxcoverage