开门见山,TeamCity .NET NUnitLauncher可以处理微软的csproj文件吗?
我问这个问题是因为以下几点。
我有一个NANT构建脚本。在这个脚本中,我有许多使用nunit-console.exe ( NUnit v2.5.2附带的)的测试。
我的Nant构建文件中的测试示例如下:
<target name="x.Commons.Tests" depends="xCore">
<exec program="${nunit-console.exe}" commandline="${nunit-console.args} Core\x.Commons.Tests\x.Commons.Tests.csproj" failonerror="${nunit-console.failonerror}"/>
</target>FailOnError设置为false,nunit-console.args设置为'/nologo‘。
当我在本地机器上运行这些测试时,我得到了测试输出。但是,当我指示TeamCity构建我的NAnt构建文件,并指示它处理测试目标时,我没有得到TeamCity的测试输出。我可以在日志中看到nunit-colsole.exe正在生成测试结果输出,但在TeamCity仪表板中看不到这一点。
在仔细阅读之后,我发现一些文章指出需要额外的步骤才能将此输入导入到TeamCity中。因此,我将我的测试修改为:
<target name="x.Configuration.Tests" depends="xCore">
<mkdir dir="C:\Tools\NUnit\bin\net-2.0\addins"/>
<copy file="${teamcity.dotnet.nunitaddin}-2.5.0.dll" todir="C:\Tools\NUnit\bin\net-2.0\addins"/>
<copy file="${teamcity.dotnet.nunitaddin}-2.5.0.pdb" todir="C:\Tools\NUnit\bin\net-2.0\addins"/>
<exec program="${nunit-console.exe}" commandline="${nunit-console.args} Core\x.Configuration.Tests\x.Configuration.Tests.csproj" failonerror="${nunit-console.failonerror}"/>
</target>请注意,我还确保标记包含一个“addins”条目。
但是,和前面一样,我可以看到测试正在工作,因为nunit-console.exe在日志中显示了它的结果,但是我没有得到TeamCity的输出。
如果您能回答我的问题,或者提供任何帮助,我将不胜感激!
发布于 2009-11-06 20:05:13
使用
<copy file="${teamcity.dotnet.nunitaddin}-2.5.2.dll" todir="C:\Tools\NUnit\bin\net-2.0\addins"/>
<copy file="${teamcity.dotnet.nunitaddin}-2.5.2.pdb" todir="C:\Tools\NUnit\bin\net-2.0\addins"/>NUnit版本的TeamCity外接程序应与NUnit版本匹配。请检查您的TeamCity版本是否支持NUnit 2.5.2或下载更新版本。
发布于 2009-11-05 20:06:25
我们这样做的方式是利用TeamCity自动拾取.csproj文件中的NUnit测试的能力。
首先,您需要通过以下方式安装MSBuild Community Tasks.
- Have this in right after <Project>
目标:build nunit
TeamCity应该会在下一次构建时自动获取单元测试。
https://stackoverflow.com/questions/1680025
复制相似问题