Estoy empezando con TDD y tengo curiosidad acerca de qué enfoques toman los demás para ejecutar sus pruebas. Como referencia, estoy usando el marco de prueba de google, pero creo que la pregunta es aplicable a la mayoría de los otros frameworks de prueba y a otros lenguajes que no sean C/C++.¿Cómo ejecutas las pruebas de tu unidad? Banderas del compilador? Bibliotecas estáticas?
Mi enfoque general hasta ahora ha sido la de hacer una de tres cosas:
Escribe la mayoría de la aplicación en una biblioteca estática, a continuación, crear dos archivos ejecutables. Un ejecutable es la aplicación en sí, mientras que el otro es el corredor de prueba con todas las pruebas. Ambos enlazan a la biblioteca estática.
Incruste el código de prueba directamente en la propia aplicación y habilite o deshabilite el código de prueba utilizando indicadores de compilación. Este es probablemente el mejor enfoque que he usado hasta ahora, pero desordena el código un poco.
Incruste el código de prueba directamente en la propia aplicación y, dados ciertos modificadores de línea de comandos, ejecute la aplicación o ejecute las pruebas integradas en la aplicación.
Ninguna de estas soluciones son particularmente elegante ...
¿Cómo que lo hace?
El consenso parece ser que # 1 es el mejor. Esto simplemente no parece ser tan elegante como podría ser. Supongo que si quiero elegancia, debería cambiar a un lenguaje de scripting. : p – kurige