En mi más me comunicado ASERCIÓN C++ proyecto muy utilizado de la siguiente manera:Casos de prueba VS comunicado ASERCIÓN
int doWonderfulThings(const int* fantasticData)
{
ASSERT(fantasticData);
if(!fantasticData)
return -1;
// ,,,
return WOW_VALUE;
}
Sin embargo, la comunidad TDD parece disfrutar haciendo algo como esto:
int doMoreWonderfulThings(const int* fantasticData)
{
if(!fantasticData)
return ERROR_VALUE;
// ...
return AHA_VALUE;
}
TEST(TDD_Enjoy)
{
ASSERT_EQ(ERROR_VALUE, doMoreWonderfulThings(0L));
ASSERT_EQ(AHA_VALUE, doMoreWonderfulThings("Foo"));
}
Sólo con mi experiencias primeros enfoques me permiten eliminar tantos errores sutiles. Pero los enfoques TDD son una idea muy inteligente para manejar códigos heredados.
"Google" - comparan "PRIMER MÉTODO" con "Camina por la orilla con chaleco salvavidas, nada el océano sin protección".
¿Cuál es mejor? ¿Cuál hace que el software sea robusto?