use*_*622 5 python debugging unit-testing spyder
我有一个名为 AllTests.py 的 python 文件,如下所示:
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')
Run Code Online (Sandbox Code Playgroud)
我可以在命令行中运行它,如下所示:
python -m unittest AllTests
Run Code Online (Sandbox Code Playgroud)
但是,我想使用 Spyder IDE 来调试一些问题。我知道要在 Spyder 中指定命令行选项,我可以转到“运行”->“常规设置”->“命令行选项”。但是,当我尝试将“-m unittest”放入这些选项时,我收到一条错误消息“选项 -m 无法识别”。它似乎试图将参数发送到 AllTests.py 文件而不是 python。
如何设置 Spyder 来调试这些单元测试?
Del*_*Del -1
所以我对 Spyder 相当陌生,因为我们使用 Visual Studio 进行开发,但原理看起来很相似。
因此,我们的工作方式如下:
IDE 是您用来进行开发的界面。(你的情况是 Spyder,我的情况是 VS。)
Anaconda 是(我的)Python 环境,它读取并执行您编写的 python 脚本。这将为您提供解释器窗口等。IDE 使用 Python 环境来运行您的脚本。
您可以通过几种不同的方式运行测试。
您已经创建了一个名为 AllTests.py 的包装类/方法,它是一个 python 脚本。
这个 AllTests.py 脚本可以直接在控制台中运行,正如您在问题中概述的那样。
您还可以像运行任何其他脚本一样运行 AllTests.py 脚本,如卡洛斯所述。
您还可以在 IDE(Spyder / VS / 等)中安装一个插件,它解释所有 UnitTest 类,并以可视方式显示它们,而不是使用命令行。测试资源管理器(在 VS 中称为)或替代插件将查看您的代码,并找到所有测试,以各种不同的方式将它们分组在一起,允许您按名称/组/等执行它们,并为您提供有关测试及其输出的更多信息。(执行时间、通过/失败输出等)
我为 Spyder 找到的一个在这里: https ://pypi.python.org/pypi/spyder-unittest
不知道好不好用,因为我没用过。这里的其他人可能能够评论它的能力/性能。
下面是 Visual Studio 测试资源管理器的屏幕截图:
根据您的要求和开发实践,此测试插件可能是您更好的选择。
我希望这有一些帮助。
| 归档时间: |
|
| 查看次数: |
13936 次 |
| 最近记录: |