解决:查看此问题的底部工作配置


我正在尝试在最终建筑项目中为.NET 4.0 C#项目设置NCOVE,但是我的最终覆盖范围输出文件不包含覆盖范围数据。

我在用:

截至今天,所有工具都是最新的官员。

我终于设法哄骗FB进行.NET 4.0项目的NCOVE下进行我的单元测试,所以我得到了 Tests run: 184, ..., , 哪个是对的。

但是,决赛 Coverage.xml Ncover的文件输出几乎是空的,看起来像这样:

<?xml version="1.0" encoding="utf-8"?>
<!-- saved from NCover 3.0 Export url='http://www.ncover.com/' -->
<coverage profilerVersion="3.3.2.6211" driverVersion="3.3.2" exportversion="3" viewdisplayname="" startTime="2010-04-22T08:55:33.7471316Z" measureTime="2010-04-22T08:55:35.3462915Z" projectName="" buildid="27c78ffa-c636-4002-a901-3211a0850b99" coveragenodeid="0" failed="false" satisfactorybranchthreshold="95" satisfactorycoveragethreshold="95" satisfactorycyclomaticcomplexitythreshold="20" satisfactoryfunctionthreshold="80" satisfactoryunvisitedsequencepoints="10" uiviewtype="TreeView" viewguid="C:\Dev\VS.NET\LVK.IoC\LVK.IoC.Tests\bin\Debug\Coverage.xml" viewfilterstyle="None" viewreportstyle="SequencePointCoveragePercentage" viewsortstyle="Name">
  <rebasedpaths />
  <filters />
  <documents>
    <doc id="0" excluded="false" url="None" cs="" csa="00000000-0000-0000-0000-000000000000" om="0" nid="0" />
  </documents>
</coverage>

FB日志中的输出是:

...
***************** End Program Output *****************

Execution Time: 1,5992 s

Coverage Xml: C:\Dev\VS.NET\LVK.IoC\LVK.IoC.Tests\bin\Debug\Coverage.xml
NCover Success

我对NCOVE的FB步骤的配置:

  • ncover什么?: :Nunit测试覆盖范围
  • 命令: C:\Program Files (x86)\NUnit 2.5.4\bin\net-2.0\nunit-console.exe
  • 命令参数: LVK.IoC.Tests.dll /noshadow /framework:4.0.30319 /process=single /nothread
    • 注意:我尝试过有没有 /process/nothread 选项
  • 工作目录: %FBPROJECTDIR%\LVK.IoC.Tests\bin\Debug
  • 组件列表: %FBPROJECTDIR%\LVK.IoC.Tests\bin\Debug\LVK.IoC.dll
    • 注意:我尝试仅列出或不带有扩展名的组件的名称。

FB步骤的文档无济于事,因为它仅列出每个属性的次要句子,并且未能给出示例或故障排除提示。

由于我想将覆盖范围的结果纳入Ndection以运行构建时间分析,因此我希望该文件包含所需的信息。

我也在使用 测试驱动器, ,如果我右键单击解决方案文件并选择“使用NCOVER测试”,则NCOVER-explorer可以打开覆盖范围数据,如果我要求它向我展示带有覆盖范围文件的文件夹,则在一个.xml文件中,带有一个带有的文件夹。与上面的结构相同,只有所有应该存在的数据,因此我拥有的工具肯定能够生产它。

有人知道我在这里配置了什么吗?


解决了: :以下配置最终对我有用。它在构建的“开始结果”页面上产生代码覆盖范围的基本统计信息,并在所有内容上链接到详细报告。

由于我将单元测试的命名与IT测试的项目相同,仅使用.TESTS后缀,因此我将这些项目排除在代码覆盖范围之外。另外,我不得不专门包括我自己的组件(所有这些都以LVK开头。)否则,我会得到Teamcity Runner加载的一些组件,这略微影响了我的覆盖范围统计数据。

首先,我安装了最新工具(如本编辑时):

  • ncover 3.4.8
  • Teamcity 5.1.2
  • Nunit 2.5.5

在团队中的构建屏幕上的配置如下:

  • 目标:重建
  • 配置:调试
  • 平台:任何CPU
  • .NET覆盖工具:NCOVER(3.X)
  • .NET运行时:.NET Framework 4.0,版本:本机
  • 通往ncover 3:%system.ncover.v3.x64.path%的路径(这是Windows 2008 Server R2 64位)
  • 其他ncover论点:

    //ias LVK.*
    //eas .*Tests
    //eas LVK\.CodeQuality
    //ea LVK\.CodeQuality\.IgnoreCodeCoverageAttribute
    
  • 其他ncover报告参数:

    //or FullCoverageReport:Html:{teamcity.report.path}
    
  • Nunit Runner:Nunit 2.5.5

  • .NET运行时平台:自动(MSIL),版本:4.0
  • 运行测试来自:** bin debug*tests.dll
有帮助吗?

解决方案

据我所知,Ncover无法涵盖.NET 4.0的测试。他们宣布了.NET 4.0的新版本,但还没有。

查找有关该主题的信息 这里. 。我个人没有这项任务的经验...

更新: :他们以.NET 4.0支持发布了NCOVE 3.4。也许您会尝试一下。

其他提示

我从这个线程中找到了您的答案: Nunit不运行Visual Studio 2010代码

到nunit-console-x86.exe.config文件, <configuration> 添加:

<startup>
  <requiredRuntime version="v4.0.30319" />
</startup>

在下面 <runtime> 添加

<loadFromRemoteSources enabled="true" />

修复了我。我正在使用Teamcity而不是最终建筑商。

我也使用NCOVE 3.4。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top