I have a codebase containing multiple python packages. There is also a pytest.ini file that contains the names of these files.
example directory structure:
main_dir
|
|
|--- package1
|
|--- package2
|
|--- pytest.ini
pytest.ini looks like this
[pytest.ini]
addopts = package1 package2
The issue is because of pytest.ini
I am not able to run tests just package wise. For example py.test package1\
now runs tests for package2
tests as well.
If I remove pytest.ini file, the command works as expected. Only option I see is to maintain an uncommitted version of pytest.ini which I keep changing according to my needs.
How do I override the pytest.ini settings and run tests only package wise?
You can use
-o/--override-ini
. From pytest help text:But your situation will require another workaround since your addopts options are not in the form
option=value
since it is a positional argument.And, while running tests, you can use
pytest -o k=package1
.-k
is used to select tests based on expression.