Pytest-ModuleNotFoundError:没有名为“ x”的模块

时间:2020-01-20 19:14:12

标签: python pytest

****解决:将__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/时,它给了我同样的错误

1 个答案:

答案 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 ...