首页 > 解决方案 > 如何在 Cake 中使用 dotnetcoretest 将测试结果上传到 AppVeyor

问题描述

ITNOA

我有一个用于构建我的netstandard 库项目的蛋糕文件,您可以在GitHub 主页 repo中看到它。

为了与Appveyor CI集成,我想在这个 CI 中上传测试结果并一起生成 Coverlet 覆盖率。为此,我写在下面的阶段

Task("Test")
    .IsDependentOn("Build")
    .Does(() => {
        var settings = new DotNetCoreTestSettings {
        };

        var coverletSettings = new CoverletSettings {
            CollectCoverage = true,
            CoverletOutputFormat = CoverletOutputFormat.opencover,
            CoverletOutputDirectory = Directory(@"./coverage-test/"),
            CoverletOutputName = coverageResultsFileName
        };

        DotNetCoreTest(testProject, settings, coverletSettings);
        MoveFile("./coverage-test/" + coverageResultsFileName, artifactsDir + coverageResultsFileName);
        if (AppVeyor.IsRunningOnAppVeyor)
            AppVeyor.UploadTestResults(artifactsDir + coverageResultsFileName, AppVeyorTestResultsType.NUnit3);
});

但是正如您在 AppVeyor 的构建测试部分的结果中看到的那样,没有显示任何测试结果,AppVeyor 也没有显示任何测试结果。

我的问题是如何将测试结果上传到 AppVeyor 并一起生成覆盖率?

我在stackoverflow中找到了一种在AppVeyor中上传测试结果的解决方案,但这不是我的答案,因为如果我NUnit3在蛋糕文件中使用类,我认为AppVeyor确实会运行所有单元测试两次并且效率不高。

标签: c#.net-corenunit-3.0appveyorbuild-system

解决方案


推荐阅读