使用Eclipse和PyDev进行Python单元测试运行奇怪

时间:2011-10-15 16:17:24

标签: python eclipse unit-testing pydev nose

我按照这种布局创建了一个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(Run As - > Python单元测试)中运行测试时 - 它运行良好。

但是我也想从命令行运行它,所以我进入了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应用程序),Eclipse Helios与JDK 1.7和PyDev 2.2.3,Python 2.7.2,项目配置为在virtualenv中运行,安装virtualenv是1.6.4,鼻子1.1.2。< / p>

1 个答案:

答案 0 :(得分:0)

有点奇怪。环境或设置没有任何改变,但问题消失了。

使用nosetests或unittest.discover从PyDev或命令行运行测试工作正常......