并行单元测试
可能重复的问题:
Python的unittest能像nose那样并行测试吗?
我有一些用unittest写的测试,这些测试是一个一个地运行的。我想要让它们并行运行,因为我有很多等待的时间,这样会快很多。请问这可能吗?我在网上找不到解决办法,尽管很多人都在讨论这个问题。
2 个回答
0
你可以使用nosetests(通过easy_install nose来安装)来查找和运行pyunit测试。Nose有一个选项可以让你同时运行多个测试。
2
你也可以通过命令行来实现并行处理,对吧?我刚刚试了这个命令
find -type f -name "_test_*.py" | sed 's/^\.\///; s/\.py$//; s/\//./g;' | xargs -t -P 10 -n 2 python -m unittest
find
命令会输出一个测试文件的列表,所以你需要根据自己的文件命名规则来调整文件名的模式。sed
命令会把找到的路径转换成有效的模块名称。xargs
在这个例子中最多可以同时启动10个进程,每个进程运行2个测试模块。
我还不太确定如何理解输出结果……