你如何从pycharm运行nosetest?
Posted
技术标签:
【中文标题】你如何从pycharm运行nosetest?【英文标题】:How do you run nosetest from pycharm? 【发布时间】:2011-04-25 05:32:40 【问题描述】:如何从pycharm执行nosetest来运行所有单元测试?
我知道 pycharm 支持 python 的 unittest 和 py.test 并且它们将正确支持 pycharm 1.1 中的鼻子测试,但我想知道是否有解决方法。
【问题讨论】:
鼻子测试现在可以在 Pycharm 中使用。 【参考方案1】:在当前版本的 Pycharm (2.6) 中,测试文件上应该有一个上下文菜单“run Nosetests in ...”。如果缺少,请转到file->settings->Project Settings->python integrated tools
并确保默认测试运行程序是 Nosetests。你当然需要安装 Nosetests - 如果你不这样做,pycharm 会提供这个。
这确实有限制。如果有问题的文件没有派生自 unittest.TestCase 的类,它将不会自动显示。如果您使用的是 nose.tools 或简单的断言,它不会自动提供此功能。这可能是一个错误。
【讨论】:
这确实有限制。如果有问题的文件没有导入unittest(它使用nose.tools,或mock assert或其他东西),那么pycharm不会自动提供这个运行选项。 在 PyCharm 4 中,您将在文件 --> 设置 --> 工具 --> Python 集成工具中找到此选项。默认测试运行器 = "Nosetests"。 Zymotik - 初始“文件”在所有版本中【参考方案2】:如果您可以不用图形化测试运行器,您可以简单地创建一个“Python 脚本”运行配置并在从命令行运行测试时运行它们。
恐怕让鼻子测试与图形测试运行器一起工作的唯一方法是破解 PyCharm 发行版中的 helpers/pycharm/utrunner.py。
【讨论】:
希望当 pycharm 1.1 发布时,您可以编辑您的答案。 :)【参考方案3】:这很容易实现....
我假设你已经安装了鼻子。
你的项目看起来像
\MyProj_Source
\MyProj
init.py
MyProj.py
我们需要创建一个 Tests 目录(是的,这个名字似乎很重要)。在那个 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 启用自动测试,以便在进行任何更改后运行测试第二种方式是最好的选择,但它可能会有点耗时。
希望对您有所帮助。
【讨论】:
以上是关于你如何从pycharm运行nosetest?的主要内容,如果未能解决你的问题,请参考以下文章
如何让 PyCharm 显示来自 pytest 的整个错误差异?