簡體   English   中英

使用 NUnit 2.5.x 和 .Net 4.0 進行持續集成/構建

[英]Continuous Integration/Builds with NUnit 2.5.x and .Net 4.0

好的,這是我目前的設置和我目前的問題。 我在Visual Studio解決方案中有越來越多的項目。 該解決方案包含大約 15 個項目(給予或接受一些)和一個快速增長的代碼庫。 我意識到在我開始之前我應該有一個連續的構建系統設置,但我想它永遠不會太晚。 所以在做了一些研究之后,我相信我的完美設置是:

  • NUnit 2.5.x (我們已經與此聯系在一起......所以有必要)
  • CruiseControl.Net集成(對其他選項開放,但僅支持 Git 的免費選項)
  • 與代碼覆蓋工具( NCoverDotCover )集成會很好
  • 集成運行 shell 命令(用於JSLint和壓縮工具等)

我缺少的是運行自動構建的工具。 我查看了NAnt ,但它對運行 MSBuild (用於構建項目)的支持似乎已經過時(我們正在使用VS2010 )並且在我們的構建過程中使用解決方案文件將節省大量時間。 我還查看了 MSBuild(原因很明顯),但我發現運行NUnit測試的過程僅支持 2.4.x( MSBuild擴展項目)。

我很好奇其他人是如何組織他們的持續構建系統的。 如果NUnit相當流行,那么我一定不是唯一對此感到疑惑的人。

我的第一個問題是您將如何構建項目?

Teamcity Professional可免費為每台服務器提供 20 種構建配置,這將使您的喜歡變得更加輕松,內置 dotcover,並且非常容易設置、運行測試等,它是迄今為止最完善的 CI 服務器。

Jenkins是下一個亞軍,它是 Hudson 的一個分支,插件非常靈活
幾乎可以做任何事情,使它比 Teamcity 更靈活一點,但設置起來並不容易,代碼覆蓋設置起來很痛苦,而且有一些煩人的怪癖,但它是完全免費的。

除非您有非常充分的理由使用 CruiseControl.Net,否則請不要打擾,因為它非常強大,但遺憾的是現在它已經過時且使用起來很痛苦。

至於設置構建,Teamcity 和 Jenkins 都支持 MSBuild、NAnt、Rake 等。它們還支持多個構建步驟,就像在 msbuild 或 Nant 文件中所做的那樣。 我過去所做的只是使用 .sln 文件通過一個構建步驟進行構建,使用內置任務進行單元測試,然后使用內置任務進行代碼覆蓋,然后使用另一個構建任務推送文件。

我使用過 TeamCity、Jenkins、TFS,我嘗試使用 CruiseControl.Net,但發現它非常笨拙。 到目前為止,Teamcity 是最好的,Jenkins 緊隨其后,即使我擁有它,我也不願意使用 TFS。

如果您有任何問題,請隨時與我聯系。

您可以使用 NAnt 構建您的 Visual Studio 2010 解決方案。 我一直都這樣做。 我在這里的回答中提供了示例 NAnt 腳本: <msbuild> task or msbuild.exe with NAnt?

如果您只需要編譯和運行測試,那么您不能 go 與TeamCity錯誤,它對 NUnit/VS 有很好的支持,並且內置了一堆報告。

如果您需要運行更復雜的構建腳本,我建議您使用FinalBuilder創建構建腳本並使用 TeamCity 命令運行程序來執行該腳本。 通過將測試結果導入 TeamCity,您仍然可以獲得報告,並且有一種簡單的方法將 output 構建狀態從 FinalBuilder 到 TeamCity:

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM