Visual studio TFS 2013生成服务器上没有代码覆盖率结果
因此,我们的TFS 2013构建除了报告代码覆盖率之外,其他一切都做得很正确。我在这里看到过类似的问题,例如,但我们已经尝试了建议的修复,但没有结果 更新1-我们已采取更多步骤尝试解决此问题;以下是完整的列表:Visual studio TFS 2013生成服务器上没有代码覆盖率结果,visual-studio,tfs,code-coverage,build-server,Visual Studio,Tfs,Code Coverage,Build Server,因此,我们的TFS 2013构建除了报告代码覆盖率之外,其他一切都做得很正确。我在这里看到过类似的问题,例如,但我们已经尝试了建议的修复,但没有结果 更新1-我们已采取更多步骤尝试解决此问题;以下是完整的列表: 已确保在生成服务器上安装Visual Studio Ultimate 已尝试将生成定义的“CodeCoverageEnabled”以及“代码覆盖率已启用”设置设置设置为true 确保生成使用调试配置,并且正在为要测试的DLL生成PDB 添加了一个.runsettings文件,其中包含正
- 已确保在生成服务器上安装Visual Studio Ultimate
- 已尝试将生成定义的“CodeCoverageEnabled”以及“代码覆盖率已启用”设置设置设置为true
- 确保生成使用调试配置,并且正在为要测试的DLL生成PDB
- 添加了一个.runsettings文件,其中包含正确的模块路径(在生成日志中验证模块路径的解释是否正确;如果我们故意将其格式错误,则会产生错误)
- 签入.runsettings文件
- 将生成定义设置为“自定义”,并指向.runsettings文件
有人建议使用国产代码覆盖率计算器,但在TFS 2013上花费1.5亿美元,而在使用MSDN的Ultimate 2013上花费1.5亿美元,但仍然无法使用这一基本功能,这将是一种犯罪 将运行设置文件添加到源代码管理。将测试设置为“自定义”,并指向运行设置文件。有关使用.runsettings文件的更多信息,请访问msdn:我遇到了相同的问题。我的问题是模块路径。MSDN示例建议您只需使用目标二进制文件的名称。这对我不起作用。然而,当我把这个名字命名为正则表达式时,它起了作用。我还将构建输出转储到一个文件夹中,以便找到pdb和其他参考文件。希望有帮助
<ModulePath>.*Administration\.dll.*</ModulePath>
*管理\.dll*
我正在使用Visual Studio online的本地生成服务器和.runsettings文件,我遇到了完全相同的问题
上面的技巧都没有帮助,所以我在托管的构建控制器上测试了构建脚本,它工作得很好,所以我决定问题一定是构建服务器本身
我在TFS配置工具中将生成服务帐户从“网络服务”更改为常规windows用户帐户,现在收集代码覆盖率。请注意,该用户将需要访问TFS构建目录。我发现这个问题是因为我在本文中看到了一些特殊之处。(查找默认为60的“延迟”设置) d。添加一个新参数“Delay”,输入如下所述的详细信息 名称–延迟,方向–输入,ArgumentType-Int32,默认值–60 延迟覆盖率检查需要此参数,以便生成代理填写所需的生成详细信息,此延迟因 系统到系统,在某些情况下可能根本不需要这样做
也许可以尝试在您正在使用的模板中添加一个“延迟”工作流程项……我认为这肯定会起作用,但令人惊讶的是它没有起作用。我在这个问题上添加了一个我们到目前为止所做尝试的总结。当你说在ide上工作时,你是说在构建服务器上工作吗?您正在运行一个或两个测试运行吗?一个是mstest一个是nunit,然后看看你是否得到了mstest覆盖率,我的意思是我在visualstudio中得到了代码覆盖率结果,这可能不太相关。我有一个NUnit和一个MSTest项目,每个项目只有一个测试。他们构建服务器运行并报告成功/失败,只是没有代码覆盖率结果。我再次尝试使用指向.runsettings文件的“自定义”类型测试运行,并改为使用CodeCoverageEnabled=true。在代码覆盖率上仍然没有骰子。这是胡说八道。