TeamCity,从命令行调用TeamCity NUnit启动器

4

我正在尝试在TeamCity上将一些相当冗长的单元测试执行分割成多个构建代理,因此我删除了TeamCity中的构建步骤中的单元测试部分(使用Visual Studio 2008、sln2008构建运行器),并尝试设置单独的构建步骤。

然而,我无法调用TeamCity附带的内置NUnit启动器。

从代理的系统属性页面上,我有这个:

teamcity.dotnet.nunitlauncher
C:\TeamCity\buildAgent\plugins\dotnetPlugin\bin\JetBrains.BuildServer.NUnitLauncher.exe

我已经确认该文件确实存在。

问题是,我该如何在定义构建步骤时指定使用此系统属性?我已设置一个新的构建步骤,并在生成二进制文件的步骤上设置了适当的依赖关系,并通过使用常规的 NUnit 控制台进行验证,但这不会正确地向 TeamCity 报告执行了多少测试,因此我想用内置的 NUnit 启动器来替换它。

我尝试设置命令行步骤,使用以下可执行命令变体,但都无法正常工作,并且都给出了错误提示,基本上说明找不到该文件:

${teamcity.dotnet.nunitlauncher}
$(teamcity.dotnet.nunitlauncher)
%sys.teamcity.dotnet.nunitlauncher%
%env.teamcity.dotnet.nunitlauncher%
%env.teamcity_dotnet_nunitlauncher%

有什么想法是我做错了什么吗?
3个回答

4

请参考类似配置的文章$(teamcity_dotnet_nunitlauncher)应该可以工作。

如果您想要它与命令行构建一起工作,您应该在构建配置中定义一个自定义环境变量,例如teamcity.dotnet.nunitlauncher,其值为%system.teamcity.dotnet.nunitlauncher%。从批处理文件中,可以将此变量引用为%teamcity.dotnet.nunitlauncher%。有关详细信息,请参见相关论坛帖子


这仅适用于Visual Studio msbuild步骤内部。我仍然需要找到一个适用于TeamCity命令行运行程序设置的工作配置。 - Lasse V. Karlsen
我已经更新了我的回复,包含命令行构建的详细信息。 - CrazyCoder

2

要从命令行运行它,请使用以下命令

D:\AGT10\plugins\dotnetPlugin\bin>JetBrains.BuildServer.NUnitLauncher.exe v4.0 x86 NUnit-2.6.3 D:\AGT10\work\7c6f18d4f70b315c\tests\Tests.AAT.xxx.dll


(Note: 该段内容为原文,无需翻译)

0

您可以使用:

%system.teamcity.dotnet.nunitlauncher% /options your.dll

从命令行步骤中返回

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接