I am trying to use Python unittest and relative imports, and I can\'t seem to figure it out. I know there are a lot of related questions, but none of them have helped so fa
In my experience it is easiest if your project root is not a package, like so:
project/
test.py
run.py
package/
__init__.py
main_program.py
lib/
__init__.py
lib_a
lib_b
tests/
__init__.py
test_a
test_b
However, as of python 3.2 , the unittest module provides the -t option, which lets you set the top level directory, so you could do (from package/):
python -m unittest discover -t ..
More details at the unittest docs.