在Visual Studio下运行Python的单元测试总是这么慢吗?

时间:2016-01-23 00:46:08

标签: python visual-studio unit-testing python-3.x visual-studio-2015

我有一个小的Python项目,只有几个文件和一些测试文件。有32个测试。我一直在Windows 10上使用Visual Studio 2015来编写代码,它非常适合运行代码,编辑等。它甚至找到了所有单元测试,当我运行它们时,它会在它们旁边放置绿色和红色标记,具体取决于它们是通过还是失败。

但是,当我在Visual Studio中选择“全部运行”(即运行没有调试的测试)时,运行32次测试需要19秒,并且每次运行大约需要300-400ms。起初,我只是想,嗯,我想在Python中运行单元测试的速度要慢一些。

但是,如果我退出命令行,并执行:

Python -m unittest test1.py test2.py test3.py [etc]

然后它在13ms内成功运行32次测试。所以,它的速度提高了1000多倍。

我似乎无法在Visual Studio中找到任何可以让我更改测试内容的选项或设置。我可以理解它需要更长的时间,因为它会单独记录每个测试并标记测试资源管理器中项目旁边的通过/失败状态。但慢1000倍?不。

目前,19岁不会太久等待。但是当这次测试达到100或1000次时,我将会花费大量的时间来进行单元测试。或者只是退出命令行,没有很好地收集有关可能失败的任何测试的信息。

是否还有其他人遇到此问题,或者有人能想象可能导致此问题的原因吗?或者我只是坚持下去?

1 个答案:

答案 0 :(得分:2)

简短的回答是,这是因为它分别运行每个测试(即它就像你python -m unittest test1.py; python -m unittest test2.py; ...一样)。