python - 无法使用 pytest 运行测试,找不到模块

标签 python pytest python-unittest

我有一个如下结构的目录:

| project/
| ---- lib/
| -------- __init__.py
| -------- MyModule.py
| ---- test/
| -------- __init__.py
| -------- test_MyModule.py
| ---- __init__.py

在我的测试文件中,我执行以下操作:

from project.lib.MyModule import MyModule

这是 MyModule 的文本:

class MyModule(object):
    pass

我可以在控制台和文件中运行它。但由于某种原因 pytest 无法发现 MyModule。我收到一条错误消息:

E   ImportError: No module named 'project'

我做错了什么?

更新

我也尝试过但失败了:

import sys
sys.path.insert(0, "~/project")

不起作用。帮助。

最佳答案

应该是from lib.MyModule import MyModule

关于python - 无法使用 pytest 运行测试,找不到模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44480775/

相关文章:

python - 在 unittest.main() 之后执行命令

python - pytest -> 如何在类下的测试方法中使用 fixture 返回值

python - Pandas 数据框 : how to fill `nan` with 0s but only nans existing between valid values?

python - 尝试提供文件时出现 IO 错误

python - 使用 Tornado 进行路线测试

python - 使用 pytest.fixture 返回模拟对象的正确方法

python - Pandas :使用列表的子集数据框,多次保留重复项

python - 什么是非阻塞 "Database"的好选择(使用 TCP 套接字服务器)

python - 如何从 pytest 固定装置正确返回列表以用于参数化?

python-3.x - 在现有 Python/Flask 应用程序上实现代码覆盖率和单元测试