Pregunta

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

Tengo varias clases de utilidad que simplemente no se pueden probar por unidad. Esto se debe principalmente a que interactúan con los recursos (por ejemplo, bases de datos, archivos, etc.).

¿Hay alguna forma de decorar estas clases para que el motor de Cobertura del Código de Visual Studio las ignore, de modo que no disminuya el porcentaje de cobertura del código?

¿Fue útil?

Solución

Hay una respuesta en este artículo sobre cómo usar [System. Diagnostics.DebuggerHidden] o [ System.Diagnostics.DebuggerNonUserCode] Atributos para excluir métodos de la cobertura del código.

Actualización según el comentario de David:

A partir de .NET 4.0, hay un atributo dedicado para esto: [ExcludeFromCodeCoverage]

Otros consejos

Cuando actualice su proyecto a .NET 4, obtendrá el ExcludeFromCodeCoverageAttribute Class .

Una de las razones por las que desea escribir pruebas unitarias es hacer que su código esté débilmente acoplado. Puede leer este artículo si está interesado en aprender a escribir código débilmente acoplado (en caso de que no sepa cómo hacerlo).

Decir que puedes intentar usar herramientas como TypeMock que puede ayudarte a burlarte de tus objetos incluso si no los escriba usando Principio de inyección de dependencia .

TypeMock fue el primer Mock Framework que usé. Cambio a Rhino Mocks porque con TypeMock no tenía que ser lo suficientemente disciplinado para escribir código acoplado libremente.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top