13

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

Step 4/4: Coverage (NUnit) (1s)
[Step 4/4] 开始: C:\TeamCity\buildAgent\plugins\dotnetPlugin\bin\JetBrains.BuildServer.NUnitLauncher.exe #TeamCityImplicit
[Step 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.数据大小:0。文件为空或不存在
[步骤 4/4] 进程退出,代码为 -2146232576
[步骤 4/4] 步骤覆盖 (NUnit) 失败

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

我的配置:

NUnit 测试 + 覆盖配置

如果我不选择覆盖工具,测试本身就可以正常工作。但是选择 dotCover 我总是得到同样的错误。

在这里的任何帮助将不胜感激。

4

4 回答 4

6

查看:http ://confluence.jetbrains.com/pages/viewpage.action?pageId=49448495

对于内部 TeamCity DotCover,您必须将“所有应用程序包”读取访问权限添加到 TeamCity 安装文件夹。如果使用外部 DotCover,请在此处添加权限。

这暂时为我解决了这个问题。

于 2013-07-17T10:40:52.633 回答
2

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

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

它解决了我的问题。

于 2013-07-13T20:47:58.777 回答
1

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

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

于 2014-01-08T22:06:16.590 回答
0

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

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

于 2014-10-20T07:37:42.430 回答