的滤饼和NUNIT3产生我使用的滤饼,并尝试上传的蛋糕单元测试结果AppVeyor,但是当我在本地运行蛋糕/ Nunit3都产生空的结果,我认为是什么原因造成我空虚的结果文件
问题描述:
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
路径中。
答
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);
}
});
惊人的 - 这节省了我的时间的负载,永远不会工作了。不得不说这些文档不是很好,这不是最直观的配置。 –