2017-09-22 21 views
3

AppVeyor上的錯誤。在下面的塊中,生成NUnitResults.xml,但始終爲空。的濾餅和NUNIT3產生我使用的濾餅,並嘗試上傳的蛋糕單元測試結果AppVeyor,但是當我在本地運行蛋糕/ Nunit3都產生空的結果,我認爲是什麼原因造成我空虛的結果文件

Task("UnitTest") 
.IsDependentOn("Build") 
.IsDependentOn("Setup") 
.Does(() => { 
    var resultsFile = artifactsDirectory + "/NUnitResults.xml"; 
    NUnit3("./StatusPageIo/StatusPageIo.UnitTests/bin/Release/StatusPageIo.UnitTests.dll", new NUnit3Settings() 
    { 
     OutputFile = resultsFile,   
    }); 

    if(AppVeyor.IsRunningOnAppVeyor) 
    { 
     AppVeyor.UploadTestResults(resultsFile, AppVeyorTestResultsType.NUnit3); 
    } 
}); 

我所知道的測試運行,因爲當我運行build.ps1本地我看到測試輸出,但是由於各種原因該測試輸出爲我的特定的輸出文件是空的。如果我明確地將NoResults設置爲false,則會得到一個TestResults.xml文件,但位於項目的根目錄中,而不是在resultsFile路徑中。

回答

5

OutputFile是保存其通常被寫入到控制檯的任何測試輸出的路徑。

您正在尋找Results - 在這裏你可以指定一個路徑寫入測試結果。試試這個:

Task("UnitTest") 
.IsDependentOn("Build") 
.IsDependentOn("Setup") 
.Does(() => { 
    var resultsFile = artifactsDirectory + "/NUnitResults.xml"; 
    NUnit3("./StatusPageIo/StatusPageIo.UnitTests/bin/Release/StatusPageIo.UnitTests.dll", new NUnit3Settings() 
    { 
     Results = new[] { new NUnit3Result { FileName = resultsFile } },   
    }); 

    if(AppVeyor.IsRunningOnAppVeyor) 
    { 
     AppVeyor.UploadTestResults(resultsFile, AppVeyorTestResultsType.NUnit3); 
    } 
}); 
+1

驚人的 - 這節省了我的時間的負載,永遠不會工作了。不得不說這些文檔不是很好,這不是最直觀的配置。 –

相關問題