Por que Visual Studio dizer “cobertura de código não está habilitado para este teste run” quando é ativado?

StackOverflow https://stackoverflow.com/questions/1412205

Pergunta

No Visual Studio, eu apenas criei um simples teste de unidade para testar um método que eu escrevi. Eu queria verificar a cobertura de código, mas a janela de cobertura de código sempre apenas afirma que "a cobertura de código não está habilitado para este teste run". Por quê? Nota:

  1. Eu já seguiu as instruções sobre desta página , ou seja, a configuração de teste tem as assembléias relevantes marcada na página opções de cobertura de código.
  2. Eu clicado em "Executar teste", não "teste de depuração", que Algumas fontes afirmam provoca isso.
  3. Eu tentei executar o teste com o conjunto de configurações de compilação para qualquer um "Debug" ou "Release"; nem obras.
  4. Eu também seguiu as sugestões sobre desta página (re-selecione o arquivo testrunconfig seleccionando teste => selecionar Ativo configuração de execução de teste), sem sucesso.

No entanto, eu ainda recebo a mensagem "cobertura de código não está habilitado para este teste run" cada vez que eu executar o teste relevante. Como faço para ativar a cobertura de código de uma vez por todas?

Foi útil?

Solução

Eu costumava lutar com MSTest, em um muito de áreas (incluindo o código-cobertura) - francamente, * não é exatamente sair de seu caminho para tornar a vida fácil - especialmente com a adicional testrunconfig etc duplicação um monte de coisas já no csproj.

De qualquer forma; do que eu achei que TestDriven.NET tem esta embutido (contanto que você tem a edição correta do Visual Studio para incluir MSTest e cobertura):

texto alternativo
(fonte: mutantdesign.co.uk )

Isto irá usar a sua framework de teste existente (incluindo MSTest), mas ele vai saltar através de todos os aros habituais para obter a cobertura do teste habilitado, sem a necessidade de mexer com a configuração. Ele ainda trabalha com a colorização de código-fonte (vermelho / azul / testado testado etc). Handy.

* = a ferramenta em si, ea integração GUI

Outras dicas

Dê uma olhada nesta página e ver se isso ajuda: Dicas sobre o uso de cobertura de código no Visual Studio 2005

Ele teve um problema mesmo depois de definir o arquivo de configuração que você mencionou e a questão estava relacionada com conjuntos localizados no GAC.

Se isto é para um projeto c ++, garantir que você tenha Profiling habilitado. Criem seus propriedades do projeto -> Linking -> Avançado. Encontrar perfil e configurá-lo para permitir que a informação Profiling (/ PROFILE).

Certifique-se de executar os testes a partir da visão de teste ou janela de lista de teste ... não a partir de janela de resultados do teste. testes em execução Re de dentro da janela de resultados dos testes nem sempre honrar suas definições de configuração de execução de teste.

No meu caso, quando eu o desafiei esse problema, eu tinha "nenhuma configuração de execução de teste disponível" no menu Test->Select Active Test Run Configuration.
Tirei / arquivo .testrunconfig adicionado, e a cobertura de código voltou.
(VS2005 Team Edition)

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top