2011-08-26 174 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