首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在NCover中为NUnit设置FinalBuilder

在NCover中为NUnit设置FinalBuilder
EN

Stack Overflow用户
提问于 2010-04-22 09:07:12
回答 2查看 2.2K关注 0票数 3

解决了:查看这个问题的底部以获得工作配置

我正在尝试设置NCover,以便在FinalBuilder项目中使用,在.NET 4.0 C#项目中使用,但是我的最终覆盖输出文件不包含覆盖数据。

我正在使用:

  • NCover 3.3.2
  • NUnit 2.5.4
  • FinalBuilder 6.3.0.2004

从今天起,所有工具都是最新的官方工具。

我终于成功地说服FB在NCover下为.NET 4.0项目运行我的单元测试,所以我得到了Tests run: 184, ...,这是正确的。

但是,来自Coverage.xml的最终NCover文件输出几乎为空,如下所示:

代码语言:javascript
复制
<?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日志中的输出是:

代码语言:javascript
复制
...
***************** 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

我为NCover配置的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步骤的文档没有帮助,因为它只列出了每个属性的小句子,并且没有给出示例或故障排除提示。

因为我希望将覆盖结果拉到NDepend中以运行构建时分析,所以我希望该文件包含我需要的信息。

我也在使用TestDriven,如果我右键单击解决方案文件并选择“用NCover测试”,NCover就会打开覆盖数据,如果我要求它向我显示包含覆盖文件的文件夹,在其中有一个与上面的文件结构相同的.xml文件,只包含应该存在的所有数据,所以我所拥有的工具肯定能够产生它。

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

解决了问题:下面的配置终于对我起了作用。它在构建的“开始结果”页面上生成代码覆盖率基本统计信息,并链接到包含所有内容的详细报告。

由于我将单元测试项目命名为与它所测试的项目相同的项目(只有一个.Tests后缀),所以我将这些项目排除在代码覆盖范围之外。另外,我必须只包含我自己的程序集(这些程序集都是从LVK开始的)。否则,我将得到一些由TeamCity运行程序加载的程序集,这对我的覆盖率统计数据有轻微的影响。

首先,我安装了最新的工具(在此编辑时):

  • NCover 3.4.8
  • TeamCity 5.1.2
  • NUnit 2.5.5

然后,TeamCity中构建屏幕上的配置如下:

  • 目标:重建
  • 配置:调试
  • 平台:任意CPU
  • .NET覆盖工具: NCover (3.x)
  • .NET运行时:.NET Framework4.0,版本:本机
  • NCover 3:%system.ncover.v3.x64.path% (这是Windows2008Server R2 64位)
  • 附加的NCover参数: //ias LVK.* /eas .*Tests //eas LVK.CodeQuality //ea LVK.CodeQuality.IgnoreCodeCoverageAttribute
  • 附加的NCover报告参数: //或FullCoverageReport:Html:{teamcity.report.path}
  • NUnit运行程序: NUnit 2.5.5
  • .NET运行时平台: auto (MSIL),版本: 4.0
  • 从:**\bin\Debug*Tests.dll运行测试
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-04-22 19:43:42

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

查找有关主题这里的信息。就我个人而言,我对这项任务没有经验.

更新:他们发布了带有.NET 4.0支持的NCover 3.4。也许你试试看。

票数 1
EN

Stack Overflow用户

发布于 2010-04-28 08:20:00

我从这个帖子中找到了你的答案:NUnit没有运行Visual 2010代码

到nunit-console-x86.exe.config文件中,在<configuration> add下面添加:

代码语言:javascript
复制
<startup>
  <requiredRuntime version="v4.0.30319" />
</startup>

<runtime>下添加

代码语言:javascript
复制
<loadFromRemoteSources enabled="true" />

帮我修好了。不过,我使用的是TeamCity,而不是FinalBuilder。

我还使用了NCover 3.4。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2689464

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档