I'm using cake build and trying to upload the cake unit test results to AppVeyor, but Cake/Nunit3 are generating empty results when I run locally and I assume that is what is causing my errors on AppVeyor. In the below block, NUnitResults.xml is generated but always empty.
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);
}
});
I know the tests run because when I run build.ps1 locally I see test output, but for whatever reason the test output for my specific output file is empty. If I explicitly set NoResults to false, I get a TestResults.xml file but in the root of the project, not in the resultsFile
path.
OutputFile
is the path to save any test output which would normally be written to console.
You're looking for Results
- where you can specify a path to write the test results. Try this:
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);
}
});
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With