2017-09-22 3 views
3

私はケーキビルドを使用しており、ケーキユニットテスト結果をAppVeyorにアップロードしようとしていますが、ローカルで実行するとCake/Nunit3が空の結果を生成しています。 AppVeyorのエラー。以下のブロックでは、NUnitResults.xmlが生成されますが、常に空です。ケーキビルドと空の結果ファイルを生成する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

驚くべきこと - 私はこの時間を節約し、決してそれを働かせなかったでしょう。ドキュメントは素晴らしいとは言えませんが、これは最も直感的な設定ではありません。 –

関連する問題