-
Python 3 unittest vs. Python 2 unittest - __init__.pyComputer/Programming 2020. 4. 11. 20:14
Python 2 에서 unittest 할 때는 Module에 __init__.py 있으면 해당 디렉토리 안에서는 해당 디렉토리를 root로 하고 import에서 path를 생략해도 알아서 잘 했었다. Python 3에서는 unittest 할 때 __init__.py가 동작하지 않는다. 그래서 unittest 할 때 import 할 때 path를 다 넣어야 한다.
예를 들어
myproject
---- my_mod1.py
---- my_mod2.py
tests
---- test_myproject.pymy_mod2.py 에서
import my_mod1
되어 있으면
python -m unittest -f -v tests.test_my_project
ModuleNotFoundError가 발생한다.
그래서 my_mod2.py를 다음과 같이 바꿔야 한다.
from myproject import my_mod1