2011-08-26 137 views
2

我需要并行化我使用默认unittest模块编写的python单元测试。 我想两种方法之间做出选择:在LSF上运行python单元测试

  1. 继续使用单元测试,但使用自定义的“多进程”跑步者可以使用产卵Platform LSF(远程执行工具)的例子的测试可以在TestOOB找到项目。
  2. 使用py.test并自定义pytest-xdist插件来运行LSF而不是SSH。

我向#1瘦因为我已经有一个工作的设置,特别是测试套件代(这是使用发电机,其解析Excel电子表格和是不平凡)

在一个特定的方法的任何建议跟随 ?

注意:我的公司正在使用LSF,我必须使用它来与其他团队共享资源。

回答

1

我首先尝试从pypi安装“pytest-xdist”,并在5个并行进程中使用“py.test -n 5”运行现有测试。如果这基本上起作用,这意味着修改pytest-xdist以使用LSF传输是一个值得的选择。实际上,您需要考虑扩展execnet(http://codespeak.net/execnet),这是分发执行的底层库。 HTH。

+0

感谢您的建议。既然已经有一段时间了,我已经实现了它。我按照您所说的类似方法,在将LSF插入混音之前在本地分发。我最终选择了1.我将测试框架从常规unittest模块切换到TestOOB框架。然后我写了一个定制的'runner'来运行LSF测试。我使用Pyro对象将测试数据传递到机器上。 – sherve