作为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