我的代码结构是:
+ project
|
+ - - project_code
| | __init__.py
| \ main.py
|
+ - - test
| __init__.py
\ test_main.py
在我的test_main.py中,我有:
import unittest
from project_code.main import MainClass
其中MainClass只是main.py中的一个
然后我导航到项目目录,并运行以下命令:
python -m unittest discover -v
然后我收到错误,说没有模块名称project_code.main
为什么这不起作用的任何想法?
答案 0 :(得分:0)
在项目文件夹中放置一个空的__init__.py
以使其成为一个包,然后将代码更改为
import unittest
from project.project_code.main import MainClass
或者用
的相对方式做import unittest
from ..project_code.main import MainClass
您的test_main
包test
中找不到名为project_code
的模块或包,因为它希望它位于test
包中。