你如何从pycharm运行nosetest?

时间:2010-10-14 05:45:42

标签: python unit-testing nose nosetests pycharm

如何从pycharm执行nosetest以运行所有单元测试?

我知道pycharm支持python的unittest和py.test,并且他们将在pycharm 1.1中正确支持nosetests,但我想知道是否有解决方法。

3 个答案:

答案 0 :(得分:36)

在当前版本的Pycharm(2.6)中,应该在测试文件上有一个上下文菜单“在...中运行Nosetests”。如果缺少这个,请转到file->settings->Project Settings->python integrated tools并确保默认测试运行器是Nosetests。你当然需要安装Nosetests - 如果你没有安装Nosetests,pycharm就会提供。

这确实有一个限制。如果有问题的文件没有派生自unittest.TestCase的类,它将不会自动显示。如果您使用nose.tools或简单的断言,它将不会自动提供此功能。这可能是一个错误。

答案 1 :(得分:2)

如果你没有图形测试运行器,你可以简单地创建一个“Python脚本”运行配置,并在从命令行运行它们时运行测试。

我担心,使用图形测试运行器进行鼻子测试的唯一方法是从PyCharm发行版中破解helpers / pycharm / utrunner.py。

答案 2 :(得分:1)

这很容易实现....

我认为你已经安装了鼻子。

你的项目看起来像是

   \MyProj_Source
      \MyProj
          init.py
          MyProj.py

我们需要创建测试目录(是的,名称似乎很关键)。在那个Tests文件夹中,我们放置了我们的鼻子测试文件。所以Directory结构看起来像这样。

   \MyProj_Source
      \MyProj
          init.py
          MyProj.py
       \Tests
          test_stuff.py

此时你需要去

<强 - >首&GT;工具 - &gt; Python集成工具**并设置**默认测试运行器为鼻子

你现在应该可以

手动

  • 使用nose运行test_stuff.py
  • 为文件MyProj.py启用自动测试,以便在运行测试后进行任何更改

第二种方式是最佳选择,但可能需要一点时间。

希望有所帮助。