質問

NCover、TypeMock、MSTestを連携させられる人はいますか?もしそうならどのようにして。

私はこれに2、3回真剣に試しましたが、うまくいきません。

MSTest 9、NCover 2.1、TypeMock 4.1 を使用しています。

理想的には、MSBuild タスクから実行したいと考えています。

乾杯マット

役に立ちましたか?

解決

少し遅れましたが、これが将来の世代のための答えです...
いくつかの重要なポイント:

  • 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>
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top