我正在寻找一种通过 Cake 构建脚本将测试输出从 .NET Core 应用程序导出到 TeamCity 的方法。
目前,我只是在运行:
DotNetCoreTest("./src/MyTestProject");
但我在ITeamCityProvider或DotNetCoreTest的文档中看不到任何内容
上面的代码块从命令行工作,但我找不到将测试结果发布到构建服务器的方法。
希望有人可以帮助
我正在寻找一种通过 Cake 构建脚本将测试输出从 .NET Core 应用程序导出到 TeamCity 的方法。
目前,我只是在运行:
DotNetCoreTest("./src/MyTestProject");
但我在ITeamCityProvider或DotNetCoreTest的文档中看不到任何内容
上面的代码块从命令行工作,但我找不到将测试结果发布到构建服务器的方法。
希望有人可以帮助
发现自己再次谷歌搜索这种情况,并偶然发现我自己对另一个答案的无益评论......
基本上,您在 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 中的“测试”选项卡。
使用.NET Core 的 NUnit 测试运行程序,您需要显式传递--teamcity
选项以使其将测试结果报告给 TeamCity(请参阅提交323fb47)。
在您的 Cake 脚本中,您可以使用以下ArgumentCustomization
属性:
Task("Test")
.Does(() =>
{
DotNetCoreTest(
"path/to/Project.Tests",
new DotNetCoreTestSettings
{
ArgumentCustomization = args => args.Append("--teamcity")
});
});