Por ejemplo, existe una interfaz IMyInterface
, y tres clases de apoyo de esta interfaz:¿Cómo se prueba una interfaz?
class A : IMyInterface
{
}
class B : IMyInterface
{
}
class C : IMyInterface
{
}
En la forma más sencilla, podría escribir tres clases de pruebas: ATest, BTest, CTest y prueba de ellos por separado. Sin embargo, dado que admiten la misma interfaz, la mayoría del código de prueba sería el mismo, es difícil de mantener. ¿Cómo puedo usar una manera simple y fácil de probar una interfaz que es compatible con diferentes clases?
(previously asked on the MSDN forums)
Este es un buen ejemplo de la respuesta correcta. – Chetan
+1 ¡Buena respuesta! Actualmente, NUnit admite clases de prueba genéricas y el atributo TestFixture se puede usar para proporcionar los tipos específicos que se utilizarán cuando se ejecute la prueba. Escribí una [publicación de blog] (http://softwareonastring.com/2015/03/22/testing-every-implementer-of-an-interface-with-the-same-tests-using-nunit) sobre cómo probar cada implementador de una interfaz que muestra estas características. –
Respuesta elegante y concisa ... –