2016-12-13 69 views
1

我有一个名为AllTests.py Python文件看起来像下面这样:如何运行和调试单元测试中的Spyder IDE

import unittest 
from SomeWonderfulTest import SomeWonderfulTestCase 

def runAllTestsNow(): 
    theTestSuite = unittest.TestSuite() 
    theTestSuite.addTest(unittest.makeSuite(SomeWonderfulTestCase) 
    return theTestSuite 

if __name__ == "__main__": 
    unittest.main(defaultTest='runAllTestsNow') 

我可以在命令行中运行如下这样:

python -m unittest AllTests 

但是,我想使用Spyder IDE调试一些问题。我知道在Spyder中指定命令行选项,我可以进入Run-> General Setting-> Command line options。但是,当我尝试将“-m unittest”放入这些选项时,出现错误,提示“选项-m无法识别”。它似乎试图将参数发送到AllTests.py文件而不是python。

如何设置Spyder来调试这些unittests?

+0

如果您只是将测试文件作为常规文件运行,即使用F5,会发生什么情况? –

回答

-1

所以我对Spyder来说相当新,因为我们使用Visual Studio来开发我们的开发工具,但是校长似乎很相似。

那么,怎样有些东西在工作如下:

IDE是你所使用的开发接口。 (Spyder在你的情况下,或VS在我的。)

Anaconda是(我的)Python环境,它读取并执行您编写的python 脚本。这为您提供了解释器窗口等.IDE使用Python环境来运行脚本。

您可以通过几种不同的方式运行测试。

您已经创建了一个叫做AllTests.py的包装类/方法,它是一个python脚本。

这个AllTests.py脚本可以直接在控制台中运行,就像您在问题中概述的那样。

您也可以像运行其他任何脚本一样运行AllTests.py脚本,如carlos所述。

您也可以在您的IDE(Spyder/VS/etc)中安装一个解释所有UnitTest类的插件,并以可视方式显示它们,而不是使用命令行。 测试资源管理器(在VS中调用它)或其他插件可以查看你的代码,找到所有的测试,并以各种不同的方式将它们组合在一起,允许你通过名称/组/ etc执行它们,并给出你进一步了解测试及其输出。 (执行时间,通过/失败输出等)

一个我发现Spyder的是在这里: 如果https://pypi.python.org/pypi/spyder-unittest

不知道它是什么好,因为我还没有使用过它。这里的其他人可以评论它的能力/表现。

下面是Visual Studio测试浏览器的截图:

VS Test Explorer

根据您的要求和发展的做法,这种检测插件可能是你更好的选择。

我希望这有些帮助。

+1

对不起,这个答案没有解决这个问题,因为我无法从你对VS的解释中学会如何使用Spyder IDE。 – Echsecutor