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
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