我正在尝试使用 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%
任何想法我做错了什么?
最佳答案
引用 article描述类似的配置。 $(teamcity_dotnet_nunitlauncher)
应该管用。
如果您希望它与命令行构建一起使用,您应该在构建配置中定义一个自定义环境变量,例如 teamcity.dotnet.nunitlauncher
带有值 %system.teamcity.dotnet.nunitlauncher%
.从批处理文件中,这个变量可以被引用为 %teamcity.dotnet.nunitlauncher%
.引用 related forum post详情。
关于nunit - TeamCity,从命令行调用 TeamCity NUnit 启动器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1530325/