Pergunta

alguém tem NCover, TypeMock e MSTest para trabalharem juntos?e se sim, como.

Já fiz 2 ou 3 tentativas sérias e simplesmente não consigo fazer funcionar.

Estou usando MSTest 9, NCover 2.1 e TypeMock 4.1.

Idealmente, gostaria de executá-los a partir de uma tarefa do MSBuild.

Cheers Mat

Foi útil?

Solução

Bem, é um pouco tarde, mas aqui está a resposta para as gerações futuras...
Alguns pontos-chave:

  • Na versão mais antiga do Typemock (como 4.1), você precisa de uma licença corporativa para executar o Typemock com NCover.Na versão atual todas as licenças possuem a mesma lista de funcionalidades.
  • Para executar o Typemock com outros criadores de perfil, você precisa usar o recurso de link do Typemock.No seu caso, você pode fazer isso com a tarefa Typemock MSBuild.
  • Você precisa executar o MSTest com o argumento /noisolation.Isso impedirá que o MSTest gere o processo VSTestHost.exe que realmente executará seus testes.Isso cria um problema ao ativar as variáveis ​​de ambiente necessárias para permitir que os criadores de perfil funcionem

No exemplo abaixo estou executando os testes em Tests.dll e solicitando relatório de cobertura sobre 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>
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top