复制步骤:

  • 在Windows 7 Ultimate 32位版本的VS 2010 Professional中创建一个C#项目。
  • 使用VS C#单元测试向导
  • 编写一些单元测试
  • 下载并安装TestDriven.Net的最新RTM或Beta版本。
  • 右键单击测试项目,然后选择“使用NCover测试”
  • 等待
  • 看到NCover的窗口是空的

  • 如何使用NCover获取TestDriven.net以生成有用的代码覆盖率XML文件?

    到目前为止,我已经尝试过重新启动,卸载RTM版本并安装Beta版本,并在“调试和发布”模式下运行。

    使用“输出”窗口文本更新:
    ------ Test started: Assembly: TestProject1.dll ------
    
    NCover v1.5.8 - Code Coverage Analysis for .NET - http://ncover.com
    
    NCover.Console v1.5.8 - Code Coverage Analysis for .NET - http://ncover.org
    Copyright (c) 2004-2006 Peter Waldschmidt
    
    
    Command: C:\Program Files\TestDriven.NET 3\ProcessInvocation86.exe
    Command Args: "/assemblyName:TestDriven.TestRunner.Server, Version=3.2.2770.0, Culture=neutral, PublicKeyToken=50ecb853f8c6b8d2" "/xmlName:M:TestDriven.TestRunner.Coverage.NCoverCoverageTestRunner.OutOfProc.Run(System.String,System.String,System.String,System.String,System.String)" "/parameter:tcp://127.0.0.1:64445/7dbdb535-3602-4a8e-8bbc-f8be7eb83987" "/parameter:tcp://127.0.0.1:64445/fbff4f73-2438-43e4-b1f9-2bdaeb9c0907" "/parameter:C:\Users\Zian\Documents\Visual Studio 2010\Projects\ClassLibrary1\TestProject1\bin\Debug\TestProject1.dll" "/parameter" "/parameter"
    Working Directory:
    Assemblies: ClassLibrary1;ClassLibrary1_Accessor;TestProject1
    Coverage Xml: C:\Users\Zian\AppData\Local\Temp\Mutant Design\TestDriven.NET 2.0\Coverage\ClassLibrary1\TestProject1.xml
    Coverage Log: Coverage.Log
    
    Waiting for profiled application to connect...Connected
    Configuring Profiler...
    ******************* Program Output *******************
    Unable to establish communications with the profiler. (0x2)
    
    NCover couldn't create a coverage report.
    

    最佳答案

    (假设您使用的是TDD.Net附带的NCover 1.5.8)

    我已经完全按照您的描述进行了操作,并且效果很好...
    这里有一些要考虑的事情:

  • 您确定实际的xml文件为空吗?尝试在这里查找:C:\Users\USERNAME\AppData\Local\Temp\Mutant Design\TestDriven.NET2.0\Coverage\YOURPROJECT,或使用类似Everything(免费的绝佳搜索工具)的工具来查找YourTestProject.xml。 NCover GUI可能有问题。
  • 之前的MSTest和NCover集成存在一些问题
    至1.5.8。尝试使用NUnit重现此内容,然后看看会发生什么
    (实际上,恕我直言,我认为MSTest与NUnit相比没有任何优势
    反正)。
  • 除了NCover之外,您还在运行其他profiler吗?是
    因此,尝试禁用它们。

  • 编辑:
    尝试按照this article中的步骤进行操作。有一个名为“NCover With TestDriven.NET”的部分。
    似乎NCover的探查器未正确注册,因此主要要做的是完全手动将其删除(TDD.Net可能不会为您这样做),然后才重新安装它。

    关于c# - 如何使用NCover获取TestDriven.net以生成有用的代码覆盖率XML文件?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8070502/

    10-10 12:55