你如何从pycharm执行nosetest来运行所有单元测试?
我知道 pycharm 支持 python 的 unittest 和 py.test 并且它们将正确支持 pycharm 1.1 中的鼻子测试,但我想知道是否有解决方法。
你如何从pycharm执行nosetest来运行所有单元测试?
我知道 pycharm 支持 python 的 unittest 和 py.test 并且它们将正确支持 pycharm 1.1 中的鼻子测试,但我想知道是否有解决方法。
在当前版本的 Pycharm (2.6) 中,测试文件上应该有一个上下文菜单“run Nosetests in ...”。如果缺少此项,请转到file->settings->Project Settings->python integrated tools
并确保默认测试运行程序为 Nosetests。你当然需要安装 Nosetests - 如果你不这样做,pycharm 会提供这个。
这确实有局限性。如果有问题的文件没有派生自 unittest.TestCase 的类,它将不会自动显示。如果您使用的是 nose.tools 或简单的断言,它不会自动提供此功能。这可能是一个错误。
如果您可以不使用图形测试运行器,您可以简单地创建一个“Python 脚本”运行配置并在从命令行运行测试时运行它们。
恐怕让鼻子测试与图形测试运行器一起工作的唯一方法是破解 PyCharm 发行版中的 helpers/pycharm/utrunner.py。
这很容易实现......
我假设你已经安装了鼻子。
你的项目看起来像
\MyProj_Source
\MyProj
init.py
MyProj.py
我们需要创建一个测试目录(是的,名称似乎很关键)。在那个 Tests 文件夹中,我们放置我们的鼻子测试文件。所以目录结构看起来像这样。
\MyProj_Source
\MyProj
init.py
MyProj.py
\Tests
test_stuff.py
这个时候你需要去
Preferences-> Tools -> Python Integrated Tools ** 并将 **Default Test Runner设置为 nose
您现在应该能够
手动
第二种方式是最好的选择,但它可能会有点耗时。
希望有帮助。