30

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

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

4

3 回答 3

41

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

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

于 2012-11-13T10:39:54.170 回答
2

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

恐怕让鼻子测试与图形测试运行器一起工作的唯一方法是破解 PyCharm 发行版中的 helpers/pycharm/utrunner.py。

于 2010-10-14T09:53:35.300 回答
2

这很容易实现......

我假设你已经安装了鼻子。

你的项目看起来像

   \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

您现在应该能够

手动

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

第二种方式是最好的选择,但它可能会有点耗时。

希望有帮助。

于 2018-05-10T06:00:14.877 回答