我尝试使用我的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,但两者都失败并出现相同的错误。
我的配置:
如果我选择无覆盖工具,则测试可以自行完成。但是如果选择了dotCover,我总会得到同样的错误。
非常感谢任何帮助。
答案 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 来解决此问题,我认为该错误是由于团队城市无法确定哪个是正确的平台。