2011-06-17 95 views
6

我有一個大的測試套件,需要在我將更改推回CI使用的回購之前運行。理想情況下,我想使用以下工作流程:有沒有辦法在另一個git分支上運行測試?

  • 創建分支以開發功能或糾正錯誤;
  • 使用TDD開發此分支的功能,但只運行最明顯相關的測試;
  • 完成開發後,運行整個測試套件;
  • 當我運行整個測試套件(20分鐘)時,我想在另一個分支中開始另一個功能。

如果我做了一個git checkout,我的整個工作副本被更改爲該分支,所以我無法運行我的測試。也許我應該使用2個工作副本,但我更喜歡更優雅的解決方案。

編輯:錯字

+1

只是後續:因爲我發佈了這個問題,我已經開始使用雲CI。現在測試一切就像'git push origin my_branch'一樣簡單 – JoaoHornburg

+0

我對這種功能很感興趣,特別是在我嘗試進行實驗的情況下,並且針對連接到我的系統的硬件。因爲CI服務器沒有這個硬件,所以推送一個實驗並沒有什麼幫助。 –

回答

5

你將不得不作出這個第二個工作副本;考慮你的下一個要實現的功能可能不是一個新的分支,而是使用一個現有的分支或基於不同分支的分支(任何這意味着你將檢查在測試運行期間恢復你最後一個功能實現的代碼)。

您可以創建一個腳本來處理所有這些 - 也許您完成當前功能的開發,然後運行「buildandtesteverything {featurebranchname}」腳本。腳本將移動到包含git存儲庫根目錄的目錄中,將存儲庫克隆到臨時文件夾中(檢出指定的分支),然後執行測試並自行清理。

相關問題