Pergunta

Fundo:. Visual Studio 2008, C #, .Net 3.5

Eu tenho um número de classes de utilitários que não são simplesmente unidade testável. Isto é principalmente porque eles interagem com os recursos (por exemplo, bancos de dados, arquivos, etc).

Existe uma maneira que eu posso decorar essas classes para que o motor Visual Studio Código Cobertura irá ignorá-los, por isso não diminuindo o percentual de cobertura de código?

Foi útil?

Solução

Há uma resposta na este artigo sobre como usar [System. Diagnostics.DebuggerHidden] ou [ System.Diagnostics.DebuggerNonUserCode] Atributos para excluir métodos de cobertura de código.

Update como por comentário de David:

A partir do .NET 4.0 não é um atributo específico para isso: [ExcludeFromCodeCoverage]

Outras dicas

Quando você atualizar seu projeto para .NET 4, você terá a ExcludeFromCodeCoverageAttribute Classe .

Uma das razões que você quer escrever unidade-testes é fazer com que seu código de baixo acoplamento. Você pode ler este artigo se você estiver interessado em aprender como escrever código de baixo acoplamento (no caso de você não sei como).

Dizer que você pode tentar usar ferramentas como TypeMock que podem ajudá-lo a zombar de seus objetos, mesmo se você não escrevê-los usando Dependency Injection princípio .

TypeMock foi o primeiro Mock Framework que eu usei. Eu mudar para Rhino Mocks porque com TypeMock eu não tem que ser a disciplina suficiente para escrever código de baixo acoplamento.

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