Frage

Hat jemand NCover, TypeMock und MSTest dazu gebracht, zusammenzuarbeiten?und wenn ja, wie.

Ich habe jetzt zwei oder drei ernsthafte Versuche damit gemacht und schaffe es einfach nicht zum Laufen.

Ich verwende MSTest 9, NCover 2.1 und TypeMock 4.1.

Idealerweise würde ich sie gerne über eine MSBuild-Aufgabe ausführen.

Prost Mat

War es hilfreich?

Lösung

Nun, es ist etwas spät, aber hier ist die Antwort für zukünftige Generationen ...
Einige wichtige Punkte:

  • In älteren Versionen von Typemock (wie 4.1) benötigen Sie eine Unternehmenslizenz, um Typemock mit NCover auszuführen.In der aktuellen Version verfügen alle Lizenzen über die gleiche Funktionsliste.
  • Um Typemock mit anderen Profilern auszuführen, müssen Sie die Link-Funktion von Typemock verwenden.In Ihrem Fall können Sie dies mit der Typemock MSBuild-Aufgabe tun.
  • Sie müssen MSTest mit dem Argument /noisolation ausführen.Dadurch wird verhindert, dass MSTest den VSTestHost.exe-Prozess erzeugt, der Ihre Tests tatsächlich ausführt.Dadurch entsteht ein Problem bei der Aktivierung der Umgebungsvariablen, die erforderlich sind, damit die Profiler funktionieren

Im folgenden Beispiel führe ich die Tests in Tests.dll aus und frage nach einem Abdeckungsbericht zu 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>
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top