【问题标题】:get code coverage percentage in cruisecontrol.net c#在 Cruisecontrol.net c# 中获取代码覆盖率
【发布时间】:2015-06-27 08:17:55
【问题描述】:

我正在尝试在 Cruisecontrol.net 中获取代码覆盖率。使用以下 NANT 脚本:

<target name="code_coverage" description="finds the code covered with tests">
  <exec program="${vstest_console}">
    <arg value="/Settings:CodeCoverage.runsettings" />
    <arg value="/EnableCodeCoverage" />
    <arg value="Tests.dll"/>
  </exec>
</target>

我可以获得一个 .coverage 文件。首先,.coverage 文件的名称是作为用户名附加当前日期时间并在随机命名的文件夹下。在 .runsettings 文件文档中,我找不到任何有关更改 .coverage 文件名称的信息。我需要更改此文件的名称。更大的问题是创建了一个带有一些 GUID 类型名称的子文件夹,覆盖文件被转储到其中,并且每次在代码覆盖打开的情况下运行测试时它都会更改。

其次,有人可以帮助我从中提取覆盖路径百分比。如果覆盖率低于某个点,我只需要使构建失败。 Google 上有很多帮助,但都是 VS 2010 及之前的版本。我需要 VS 2012 或 VS 2013 的帮助。目前正在开发 VS 2013 Ultimate 并使用 .runsettings 文件进行代码覆盖。

【问题讨论】:

    标签: c# .net visual-studio-2013 code-coverage cruisecontrol.net


    【解决方案1】:

    我仍然使用旧的 mstest,但在 testsettings 文件中, 有 / 是一个选项来控制一些输出文件夹:

      <NamingScheme baseName="cover_me" appendTimeStamp="false" useDefault="false" />
    

    这是 TestSettings 根元素的子元素, 所以文件的开头看起来像这样:

    <TestSettings name="CodeCoverage" id="f5644e34-f879-42fe-8b36-d1ca1cc7c3c5" xmlns="http://microsoft.com/schemas/VisualStudio/TeamTest/2010">
      <Description>These are default test settings for a local test run.</Description>
      <NamingScheme baseName="cover_me" appendTimeStamp="false" useDefault="false" />
    

    关于百分比 使用 mstest 我需要将二进制输出转换为 xml 我在这里描述了过程: http://rubenwillems.blogspot.be/2011/09/setting-up-ccnet-in-combination-with.html 向下滚动一下覆盖部分。转换器程序的源代码也在那里,因为原始页面不再存在:-(

    从那时起,它只运行一个 xslt 来检查它是否低于某个百分比。 这可以在转换器程序中,也可以作为额外任务。

    【讨论】:

    • 这段代码的问题是我必须定义一个路径去 .coverage 文件。但如前所述,我没有明确的路径。将创建一个具有某些 GUID 类型名称的子文件夹,将 .coverage 文件转储到该子文件夹中。从 VS 2013 开始,您不能使用 .testsettings 进行代码覆盖,从这个链接可以看出:msdn.microsoft.com/en-us/library/ee256991.aspx。这就是为什么我说我正在使用 .runsettings 和 VS 2013。我在谷歌上找到了这个 URL,这很有帮助。但是这个答案是-1,因为这不适用于最新的VS。
    猜你喜欢
    • 1970-01-01
    • 2015-01-12
    • 2013-08-22
    • 1970-01-01
    • 2016-05-29
    • 1970-01-01
    • 1970-01-01
    • 2021-09-26
    • 2012-06-30
    相关资源
    最近更新 更多