TeamCity 8中的DotCover无法正常工作

时间:2013-05-01 14:44:26

标签: c# build nunit teamcity dotcover

我尝试使用我的NUnit测试运行dotCover,在TeamCity 8中作为构建步骤。但是没有遇到我尝试的东西我总是在日志文件中得到相同的错误:

  

步骤4/4:覆盖范围(NUnit)(1s)
  [步骤4/4]开始:C:\ TeamCity \ buildAgent \ plugins \ dotnetPlugin \ bin \ JetBrains.BuildServer.NUnitLauncher.exe #TeamCityImplicit
  目录中的[步骤4/4]:C:\ TeamCity \ buildAgent \ work \ 6aee0f0d2626793d
  [步骤4/4] ## teamcity [importData type ='dotNetCoverage'tool ='dotcover'file ='C:\ TeamCity \ buildAgent \ temp \ buildTmp \ coverage_dotcover3226256377023598081.data']
  [步骤4/4]使用'dotNetCoverage'处理器从'C:\ TeamCity \ buildAgent \ temp \ buildTmp \ coverage_dotcover3226256377023598081.data'导入数据
  [步骤4/4]拒绝的覆盖率报告文件:C:\ TeamCity \ buildAgent \ temp \ buildTmp \ coverage_dotcover3226256377023598081.data size:0。文件为空或不存在
  [步骤4/4]处理退出,代码为-2146232576   [步骤4/4]步骤覆盖率(NUnit)失败

我曾尝试同时使用TeamCity dotCover和单独安装的dotCover,但两者都失败并出现相同的错误。

我的配置:

NUnit tests + coverage configuration

如果我选择无覆盖工具,则测试可以自行完成。但是如果选择了dotCover,我总会得到同样的错误。

非常感谢任何帮助。

4 个答案:

答案 0 :(得分:6)

退房:http://confluence.jetbrains.com/pages/viewpage.action?pageId=49448495

对于内部TeamCity DotCover,您必须将“ALL APPLICATION PACKAGES”读取访问权限添加到TeamCity安装文件夹。如果使用外部DotCover,请在那里添加权限。

暂时为我纠正了这个问题。

答案 1 :(得分:2)

这可能是因为你在没有.NET 3.5的构建代理上运行它(但是使用4.0)。这很容易检查,因为在此代理上运行dotCover.exe后会出现异常。安装.NET 3.5(在最新Windows的情况下使用服务器管理器)。

接下来是TeamCity 8中的dotCover还有另一个错误。您需要使用试用dotCover安装,直到他们修复它(并将安装的dotCover的路径放入构建步骤配置中)。

它解决了我的问题。

答案 2 :(得分:1)

有趣的是,至少对我来说,一旦我禁用代码覆盖(即在 .NET Coverage工具下拉列表中未选择项目)并运行构建,它对我有用。当我重新启用代码覆盖时,它可以工作(对TeamCity或构建服务器上的任何内容都没有其他更改)。怪异!

我目前正在运行TeamCity版本8.0.4(版本27616)。

答案 3 :(得分:0)

这与我的问题类似,当启用dotCover时,NUnit无法运行。

我通过在配置下拉列表中将 .NET Runtime:Platform:设置为 x86 来解决此问题,我认为该错误是由于团队城市无法确定哪个是正确的平台。