作爲build automation of running xUnit.net tests with MSBuild的一部分,我遇到了一個需要遍歷一批項目的情況。在MSBuild中捕獲錯誤狀態
在循環內部,我需要檢測迭代是否失敗,但是我想繼續執行而不管。然後在批處理之後,我需要知道是否發生了一個或多個錯誤,以便將結果報告給TeamBuild。
督察,在僞代碼:
Task Name=RunTests
CreateItems
ForEach item CallTarget Target=RunTest ContinueOnError=true
CombineNUnitResults
Report success/failure
Task Name=RunTest
XUnit item
我希望這能夠在不自定義任務來實現(或黑客攻擊xunit.net MSBuild任務爲Jonne一樣)。 (但願意使用的MSBuild社區或SDC任務)
而且@BradWilson:我這是心不是可以做乾淨,我會找Jonne的變化一拉NUnit的任務也使它成爲了xUnit的任務
參見:How do I get Team Build to show test results and coverage for xUnit.net test suite?
嗨邁克,感謝您花時間回覆。從我的閱讀中,ExitCode是一個自定義的NUnit任務屬性,它並未在xUnit任務中實現。 (NUnit任務還需要多個程序集(xUnit doesnt,這就是爲什麼它的參數被稱爲Assembly,並且討論了xUnit codeplex討論))。現在我已經閱讀了筆記,我發現我需要做更多的研究。當我這樣做時(我曾經認爲ExitCode只在NUnit和Exec上),將刪除此評論並將其替換爲更明智的內容。好的工作,我有MSPress的書在路上! – 2009-06-29 18:53:53
啊 - 非常好的一點,xunit Task不是從ToolTask派生的,所以在codeplex網站上創建一個[請求它的問題](http://xunit.codeplex.com/WorkItem/View.aspx?WorkItemId=7954)。完成之後,我只需要做一些乾淨的MSBuild東西來遍歷程序集列表併合並XML – 2009-06-30 09:27:13