Domanda

qualcuno ha fatto in modo che NCover, TypeMock e MSTest lavorino insieme?e se sì, come.

Ho fatto 2 o 3 tentativi seri adesso e non riesco proprio a farlo funzionare.

Sto utilizzando MSTest 9, NCover 2.1 e TypeMock 4.1.

Idealmente, vorrei eseguirli da un'attività MSBuild.

Cheers Mat

È stato utile?

Soluzione

Beh, è ​​un po' tardi, ma ecco la risposta per le generazioni future...
Pochi punti chiave:

  • Nella versione precedente di Typemock (come la 4.1) è necessaria una licenza aziendale per eseguire Typemock con NCover.Nella versione attuale tutte le licenze hanno lo stesso elenco di funzionalità.
  • Per eseguire Typemock con altri profiler è necessario utilizzare la funzionalità di collegamento di Typemock.Nel tuo caso puoi farlo con l'attività Typemock MSBuild.
  • È necessario eseguire MSTest con l'argomento /noisolation.Ciò impedirà a MSTest di generare il processo VSTestHost.exe che eseguirà effettivamente i test.Ciò crea un problema nell'abilitare le variabili di ambiente necessarie per consentire il funzionamento dei profiler

Nell'esempio seguente eseguo i test in Tests.dll e chiedo il rapporto di copertura su 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>
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top