将 Cake dotnet 核心测试输出导出到 TeamCity

Exporting Cake dotnet core test output to TeamCity

我正在寻找一种通过 Cake 构建脚本将测试输出从 .NET Core 应用程序导出到 TeamCity 的方法。

目前,我只是运行:

DotNetCoreTest("./src/MyTestProject");

但我在 ITeamCityProvider or DotNetCoreTest

的文档中看不到任何内容

上面的代码块可以在命令行运行,但我找不到将测试结果发布到构建服务器的方法。

希望有人能帮忙

随着 NUnit test runner for .NET Core, you need to explicitly pass the --teamcity option to have it report the test results to TeamCity (see commit 323fb47).

在您的 Cake 脚本中,您可以使用 ArgumentCustomization 属性:

Task("Test")
   .Does(() =>
{
    DotNetCoreTest(
        "path/to/Project.Tests",
        new DotNetCoreTestSettings
        {
            ArgumentCustomization = args => args.Append("--teamcity")
        });
});

发现自己再次谷歌搜索这种情况,偶然发现了我自己对另一个答案的无用评论...

基本上,您需要在 Cake 中做的就是使用标准设置调用 DotNetCoreTest(没有特定于 TeamCity),并在您的测试项目中包含以下 NuGet 包:

  • TeamCity.Dotnet.Integration
  • TeamCity.VSTest.TestAdapter

我还在 tools\modules\packages.config 中配置了 Cake 构建系统模块:

<?xml version="1.0" encoding="utf-8"?>
<packages>
    <package id="Cake.BuildSystems.Module" version="0.3.0" />
</packages>

这将点亮 TC 中的“测试”选项卡。