I have project with the following directory structure:
.
├── requirements.txt
├── main.py
├── tests
├── unit
│ └── test_thing1.py
│ └── test_thing2.py
└── integration
└── test_integration_thing1.py
└── test_integration_thing2.py
I want to run all tests with one command. If I do python -m unittest discover
, no tests are executed.
I found this question that suggest adding a __init__.py
file to make packages out of the unit
and integration
folders. The solution works, and all tests are running this way.
But since I'm using python3 and __init__.py
files are not required with implicit namespace packages, I was wondering if there was a way to make this works without those __init__.py
files.
I looked into it, and think its most likely a bug.
So I created a python bug report and a PR which fixes the issue for me.
Clone it and see if it works for you as well, with the fix the best way of running discover was python -m unittest discover -s tests
. Otherwise it will look in for example virtual environments that are below the top dir.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With