2009-10-07 46 views
4

我试图在TeamCity中跨多个构建代理分离一些相当冗长的单元测试执行,因此我删除了构建步骤的单元测试部分(使用Visual Studio 2008 ,sln2008 build runner)在TeamCity中,并尝试设置单独的构建步骤。TeamCity,从命令行调用TeamCity NUnit启动器

但是,我无法调用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% 

任何想法我做错了什么?

回答

4

请参阅描述类似配置的article$(teamcity_dotnet_nunitlauncher)应该可以工作。

如果您希望它与命令行版本一起工作,您应该在构建配置中定义自定义环境变量,如teamcity.dotnet.nunitlauncher,值为%system.teamcity.dotnet.nunitlauncher%。从批处理文件中,该变量可以被引用为%teamcity.dotnet.nunitlauncher%。有关详细信息,请参阅related forum post

+0

这只适用于Visual Studio msbuild步骤内。我仍然需要为TeamCity本身的命令行运行器设置找到一个工作配置。 – 2009-10-09 12:30:12

+0

我已经用命令行构建的细节更新了我的回复。 – CrazyCoder 2009-10-10 09:34:38

0

您可以使用:

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

在命令行步

2

要使用命令行运行以下命令

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