****解决:将__init__.py
添加到Test/
,并将testcode.py
重命名为test_code.py
。要运行测试cd -> Zee
并输入pytest
****
结构:
|--Zee/
| |--Test/
| | |--__init__.py
| | |--test_code.py
| |--Codetotest/
| | |--code.py
在code.py
中class Foo():
some code...
在testcode.py
中from Codetotest.code import Foo
def test_foo():
assert ...
当我在命令行中移至Zee
目录并运行pytest Test/testcode.py
时,我得到ModuleNotFoundError: No module named Zee
。我该如何解决?
我尝试通过按照建议的here添加Test/__init__.py
使Test模块成为一个模块。从多个目录运行,没有骰子。
Pytest版本5.3.4,从python 3.6导入
我不明白的是,当我将__init__.py
添加到Zee/
时,它给了我同样的错误
答案 0 :(得分:2)
您在模块目录中需要一个__init__.py
。
这是典型的项目结构:
|--zee-project-directory/
| |--tests/
| | |--test_zee.py
| |--zee/
| | |--__init__.py
| | |--code.py
code.py
class Foo():
some code...
test_zee.py
from zee.code import Foo
def test_foo():
assert ...