[英]Python unit-test running oddity with Eclipse and PyDev
我已经按照以下布局创建了一个Pydev项目:
- project_root/
|- setup.py
|- my_package/
|- __init__.py
|- my_module.py
|- tests/
|- __init__.py
|- test_my_module.py
在创建项目期间,将project_root目录添加到了PYTHONPATH中。
my_package / my_module.py文件具有一个类:
class MyClass(object):
def my_method(self):
return 1
并且my_package / tests / test_my_module.py应该包含此模块的测试用例:
import unittest
from my_package.my_module import MyClass
class MyClassTestCase(unittest.TestCase):
def test_my_method(self):
my_object = MyClass()
self.assertEqual(1, my_object.my_method())
当我使用PyDev测试运行程序和Nose测试运行程序从Eclipse(运行方式-> Python单元测试)中运行测试时,它运行良好。
但是我也想从命令行运行它,所以我将其CD到project_root并尝试:
> set PYTHONPATH=full/path/to/project_root
> nosetests --verbosity 2
...
ImportError: No module named my_module
> python -m unittest discover
...
ImportError: No module named my_module
有什么问题的想法吗?
我的环境详细信息:Windows 7 x64(但所有相关的应用程序均已安装为x86应用程序),带有JDK 1.7和PyDev 2.2.3的Eclipse Helios,Python 2.7.2,配置为在virtualenv中运行的项目,已安装的virtualenv为1.6.4,nose 1.1 .2。
多奇怪。 环境或设置没有任何变化,但是问题消失了。
从PyDev或命令行使用鼻子测试或unittest.discover运行测试正常...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.