尝试将鼻子测试添加到现有项目中。正在测试的类具有依赖关系,而依赖关系依赖于我们代码库中的另一个模块(让我们称之为 extern_module ),在一个单独的项目中。
我使用setup.py安装了 extern_module 。如果我打开python shell,我可以导入它。
但是,当我尝试运行测试时,我被告知找不到 extern_module 。我对Python太新了,说我有整个导入机制 - 为什么我可以从Python shell导入的模块在其他地方不可用?
修改
原来问题是导入 extern_module.submodule 。如果我将测试类的依赖关系更改为仅导入 extern_module ,那么事情看起来很好。
我的测试包是这样构建的:
tests
- __init__.py
- specific_test_package
- __init__.py
- mytest.py
我通过导航到tests / specific_test_package并输入nosetests mytest.py
谢谢!