我正在使用 cake build 并尝试将 cake 单元测试结果上传到 AppVeyor,但是当我在本地运行时 Cake/Nunit3 生成空结果,我认为这就是导致 AppVeyor 上错误的原因。在下面的块中,生成了 NUnitResults.xml,但始终为空。
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
path.
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);
}
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)