【问题标题】:TFS 2013 - No Code Coverage ResultsTFS 2013 - 无代码覆盖结果
【发布时间】:2014-07-23 20:25:15
【问题描述】:

我有一个TFS 2013 环境设置,我正在尝试让TFSBuild 在构建后收集我的代码覆盖率结果。
测试运行良好,但无论我尝试什么,我都会收到一条消息“无代码覆盖结果”。

我已经阅读了有关“代码覆盖率分析服务”的信息,但它根本没有安装在我的服务器上,而且我似乎在任何地方都找不到它。

我已经完成了构建过程,以确保我将“自动测试--> 测试源--> 运行设置--> 运行设置类型”设置为CodeCoverageEnabled,但无论如何我尝试,我无法将结果发布到分析服务数据库,因此我可以运行Code Coverage Reports

我尝试了运行设置文件,但没有成功,因此我将其排除在外。

任何帮助将不胜感激!

【问题讨论】:

  • 你有没有找到解决这个问题的方法。我有同样的问题。

标签: tfs visual-studio-2013


【解决方案1】:

我刚刚发现问题是我的代码覆盖率没有在构建服务器上计算。我通过 Microsoft 的帮助台解决了这个问题,这是一个小的 UI 错误。

重现步骤:创建新的构建定义。

  1. 转到构建定义的进程选项卡并选择要构建的解决方案文件。
  2. 现在展开“自动化测试”部分并展开“测试源”。
  3. 展开“运行设置”并将“运行设置类型”从“默认”更改为“CodeCoverageEnabled”。
  4. 保存构建定义并运行构建。
  5. 检查构建结果,发现没有计算代码覆盖率。

要解决此问题,请使用构建定义的其他 ui。

  1. 选择“自动化测试”节点。
  2. 现在在右侧的那一行中,您将看到一个带有“...”的按钮。点击它,将打开一个对话框。
  3. 点击“编辑”以编辑您的测试源。您将看到代码覆盖率已启用。如果不选择它。
  4. 再次点击 Ok 和 Ok 关闭两个对话框。
  5. 现在保存构建定义并再次运行构建。

现在确实可以计算代码覆盖率!!!微软帮助台已经向开发团队提交了一个错误,我猜下一个版本会修复它。小错误,但我花了两天多的时间才找到错误!

【讨论】:

  • 该死!尽我所能,我只能投票一次!
  • 嗨。编辑构建定义时,您有两种 UI。在构建定义的进程选项卡上,您会看到白色属性区域,您可以在其中设置所有内容。但您也可以使用不同的编辑器设置“自动化测试”部分。使用不同的编辑器,我的意思是一个弹出窗口,您可以使用“自动化测试”行右侧的“...”按钮打开它。首先选择该行以查看按钮。如果您更改弹出窗口中的设置,然后将其保存在弹出窗口中(点击确定),则会在白色属性区域中调整设置。希望这对您来说很清楚......
  • 刚刚在更新 4 上遇到了同样的问题(修复仍然有效)
  • 好吧,这一定行得通。很多用户让它工作。给我发个 PM,我会尽力帮助你。
  • @ken2k(和其他有问题的人)here's a screenshot 有问题的编辑器能够启用代码覆盖。感谢 Ralph 发布了这个解决方法!
【解决方案2】:

您的构建机器上是否安装了 Premium 或 Ultimate Visual Studio?将代码覆盖率结果返回到 TFS 需要这些中的任何一个

【讨论】:

    【解决方案3】:

    我认为“其他窗口”是指右键单击解决方案的“Local.testsettings”文件(或其他 [].testsettings 文件),选择“打开”并浏览各种设置。当您将“测试运行位置”单选按钮设置为“使用本地计算机或测试控制器运行测试”时,“代码覆盖率 (Visual Studio 2010)”的“数据和诊断”下会有一个设置。

    【讨论】:

    • .testsettings 已弃用,.runsettings 是前进的方向。
    【解决方案4】:

    我正在使用带有 .runsettings 文件的在线 Visual Studio 本地构建服务器,我遇到了完全相同的问题。

    上面的诡计都没有帮助,所以我在托管的构建控制器上测试了构建脚本,它运行良好,所以我认为问题一定是构建服务器本身。

    我在 TFS 配置工具中将构建服务帐户从“网络服务”更改为 常规 Windows 用户帐户,现在代码覆盖率已被收集。请注意,此用户将需要访问 TFS 构建目录。

    【讨论】:

      【解决方案5】:

      上述解决方法对我不起作用(VS2015 update5 和 TFS2013 Update 3)。

      在我的例子中,Visual Studio 没有安装在构建服务器上,这似乎是返回代码覆盖率结果的要求。

      来自MSDN

      以下场景需要在构建服务器上安装 Microsoft Visual Studio:

      • 要构建任何 CPP 测试项目,您必须安装 Visual Studio Professional 或更高版本。
      • 要运行单元测试或编码 UI 测试,您必须安装 Visual Studio Professional 或更高版本。
      • 使用数据和诊断数据适配器:

         - Code coverage: Visual Studio Premium or later.   
         - Test impact: Visual    Studio Ultimate.  
         - IntelliTrace: Visual Studio Ultimate.
        
      • 要在构建机器上构建任何现代风格的应用程序:Visual Studio Ultimate 或 Visual Studio Express for Windows 8(构建服务器上的操作系统必须是 Windows 8)。

      • 使用伪造的程序集为项目编译和运行测试:Visual Studio Ultimate。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-11-07
        • 1970-01-01
        • 1970-01-01
        • 2011-01-18
        • 1970-01-01
        • 2021-01-17
        相关资源
        最近更新 更多