我正在尝试使用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%
任何想法我做错了什么?
答案 0 :(得分:4)
请参阅描述类似配置的article。 $(teamcity_dotnet_nunitlauncher)
应该有用。
如果您希望它与命令行构建一起使用,则应在构建配置中定义自定义环境变量,例如teamcity.dotnet.nunitlauncher
,其值为%system.teamcity.dotnet.nunitlauncher%
。从批处理文件中,此变量可以引用为%teamcity.dotnet.nunitlauncher%
。有关详细信息,请参阅related forum post。
答案 1 :(得分: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
答案 2 :(得分:0)
您可以使用:
%system.teamcity.dotnet.nunitlauncher% /options your.dll
从命令行步骤