2011-05-30 17 views
5

Tengo un contexto en el código para cambiar dependiendo de si se está ejecutando bajo prueba o versión. decir en mi codificación de productos:¿Hay alguna manera de cambiar el contexto entre Prueba de unidad y Versión. en C#

PublishRequest(); // the real one 
//PublishRequestPsudo(); // the one want to be run during unit test 

La forma en que estoy pensando es hacer una clase TestFlag:

if (!TestFlag.PublishFlag) 
{ 
    PublishRequest(); 
} 
else 
{ 
    PublishRequestPsudo(); 
} 

Esto parece detallado si tengo muchos lugar de hacer eso. ¿Hay algún buen patrón para hacerlo?

Respuesta

7
+0

Así, utilizando un interruptor con clase TestFlag hará que la dependencia redundante ¿verdad? – demaxSH

+1

@demaxSH: No es una dependencia redundante, sino que me parece que es difícil codificar para las pruebas. –

+0

El código de producción no debe tener código adicional para la capacidad de prueba. En lugar de eso, modifique su diseño para que sea comprobable. Use roles, cuyas implementaciones pueden ser fácilmente/no intrusivamente sustituidas por pruebas unitarias. – Gishu

Cuestiones relacionadas