言归正传,TeamCity .NET NUnitLauncher 可以处理 Microsoft 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>
请注意,我还确保标签包含“插件”条目。
但是,和以前一样,我可以看到测试正在运行,因为 nunit-console.exe 在日志中显示了它的结果,但是我没有得到 TeamCity 的输出。
对我的问题的回答或任何帮助将不胜感激!