test - pruebas unitarias c#
¿Cómo decorar una clase como no comprobable para la cobertura de código? (3)
Cuando actualice su proyecto a .NET 4, obtendrá la clase ExcludeFromCodeCoverageAttribute .
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 de código de Visual Studio las ignore y no disminuya el porcentaje de cobertura de código?
Hay una respuesta en este artículo sobre cómo usar los atributos [System.Diagnostics.DebuggerHidden] o [System.Diagnostics.DebuggerNonUserCode] para excluir los métodos de la cobertura de código.
Actualización según el comentario de David:
A partir de .NET 4.0, hay un atributo dedicado para esto: [ExcludeFromCodeCoverage]
Una de las razones por las que desea escribir pruebas unitarias es hacer que su código esté ligeramente acoplado. Puede leer este artículo si está interesado en aprender a escribir código acoplado libremente (en caso de que no sepa cómo).
Decir que puedes intentar usar herramientas como TypeMock que pueden ayudarte a TypeMock tus objetos, incluso si no los escribes utilizando el 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.