NCover,TypeMock和MSTest

时间:2008-09-05 08:29:09

标签: ncover typemock

有没有人让NCover,TypeMock和MSTest一起工作?如果是这样的话。

我现在已经有2到3次严重的尝试,但是无法让它发挥作用。

我正在使用MSTest 9,NCover 2.1和TypeMock 4.1。

理想情况下,我想从MSBuild任务运行它们。

干杯 垫

1 个答案:

答案 0 :(得分:2)

嗯,有点晚了,但这是后代的答案...... 几个关键点:

  • 在旧版本的Typemock(如4.1)中,您需要企业许可证才能使用NCover运行Typemock。在当前版本中,所有许可证都具有相同的功能列表。
  • 要与其他分析器一起运行Typemock,您需要使用Typemock的链接功能。在您的情况下,您可以使用Typemock MSBuild任务执行此操作。
  • 您需要使用/ noisolation参数运行MSTest。这将阻止MSTest生成实际运行测试的VSTestHost.exe进程。这会产生一个问题,即启用分析器工作所需的环境变量

在下面的示例中,我在Tests.dll中运行测试并询问有关ClassLibrary.dll的覆盖率报告

<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="RunTests" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

<Import Project ="c:\Program Files\Typemock\Isolator\5.2\TypeMock.MSBuild.Tasks" />

    <PropertyGroup>
        <NCOVER>"E:\src\TypeMock\Build\Binaries\NCover\NCover 2.0\NCover.Console.exe"</NCOVER>      
        <MSTest>"C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\IDE\MSTest.exe"</MSTest>    
    </PropertyGroup>

    <Target Name ="Test">
        <TypeMockStart Target="2.0" Link ="NCover2.0"/>
    <Exec ContinueOnError="true"  Command="$(NCOVER) //a ClassLibrary $(MSTest) /noisolation /testcontainer:E:\src\TestNcover3\MSBuildTest\bin\Debug\Tests.dll" />
    <TypeMockStop/>
</Target>
</Project>