2014-01-10 63 views
0

我使用的TeamCity建立C#項目,直到最近我是不是能夠使用的TeamCity的「靜音失敗的測試」功能,B/C的MSBuild xunit test runner引起的MSBuild腳本失敗(返回代碼爲-1),而不管是否測試是靜音的不是。TeamCity的,xUnit.net,MSBuild的,和靜音測試 - 靜音測試失敗應該停止建設?

這個變化對我的MSBuild腳本允許靜音工作:

<UsingTask 
    AssemblyFile="xunit.runner.msbuild.dll" 
    TaskName="Xunit.Runner.MSBuild.xunit"/> 

<Target Name="Test"> 
    <xunit Assembly="MyTests\bin\Debug\MyTests.dll" ContinueOnError="true" /> 
</Target> 

ContinueOnError="true"是增加了(我已經實際上參數,而不是使用硬編碼值)。

現在靜音不工作,因爲當靜音測試失敗,我的構建成功仍在繼續。而當unmuted測試失敗時,我的構建失敗。

我遇到的問題是,當靜音測試失敗,構建繼續進行,並運行一切 - 隨後的構建步驟,等等 - 和失敗是在構建結束決定。在我的情況下,我們打包構建工件,並自動部署到我們的集成環境 - 這些事情都不應該發生在構建由於(未靜默)測試失敗而失敗的情況下。

我在爲如何提前結束時所建靜音測試失敗的損失。有沒有人有任何想法?

回答

0

截至二千零十四分之二,這是TeamCity的一個已知的問題。兩個相關未決問題:

因此,底線是,TeamCity的測試靜音是不能用來解決最初的問題。但是,您可以使用xUnit測試跳過,例如[Fact(Skip="Explain here why the test is skipped")]