我正在努力获得正确的 python 导入。我想要实现的是拥有一个包含多个源文件的模块和一个包含单元测试的测试文件夹。
无论我做什么,我都无法让 py.test-3 执行我的测试。我的目录布局如下所示:
.
├── module
│ ├── __init__.py
│ └── testclass.py
└── tests
└── test_testclass.py
__init__.py 文件如下所示:
__all__ = ['testclass']
testclass.py 文件如下所示:
class TestClass(object):
def __init__(self):
self.id = 1
我的单元测试是这样的:
import pytest
from module import TestClass
def test_test_class():
tc = TestClass()
assert(tc.id==1)
无论我如何调用 py.test-3,我都会得到一个:
E ImportError: No module named 'module'
最佳答案
首先,除非您更改tests/test_testclass.py
,否则您需要更改module/__init__.py
,如下所示:
from .testclass import TestClass
__all__ = ['TestClass']
而且,当你运行 py.test set PYTHONPATH
让解释器知道何时查找模块的环境变量:
PYTHONPATH=. py.test
关于python - py.test 无法导入我的模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34083214/