5

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

目前,我只是在运行:

DotNetCoreTest("./src/MyTestProject");

但我在ITeamCityProviderDotNetCoreTest的文档中看不到任何内容

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

希望有人可以帮助

4

2 回答 2

5

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

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

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

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

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

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

于 2018-09-18T06:55:42.363 回答
4

使用.NET Core 的 NUnit 测试运行程序,您需要显式传递--teamcity选项以使其将测试结果报告给 TeamCity(请参阅提交323fb47)。

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

Task("Test")
   .Does(() =>
{
    DotNetCoreTest(
        "path/to/Project.Tests",
        new DotNetCoreTestSettings
        {
            ArgumentCustomization = args => args.Append("--teamcity")
        });
});
于 2017-02-01T09:32:02.103 回答