Tengo que escribir pruebas para un código C++ mal escrito. El problema es que el código provoca aserciones de STL/errores de depuración en muchas situaciones (normalmente causadas por errores tontos como el acceso más allá de los límites de una cadena/vector), que dan como resultado la finalización de las pruebas.¿Cómo hacer que STL arroje excepciones en lugar de aserciones?
¿Es posible hacer que el STL arroje excepciones (que se pueden atrapar) en lugar de simplemente estrellarse?
Tengo que mantener mis cambios en el código original al mínimo absoluto.
Gracias por la ayuda
¿Qué implementación de biblioteca estándar está utilizando? –
Actualmente estoy en VS 2010, pero se supone que el código es multiplataforma (al menos las últimas versiones importantes de GCC y VS). –
No veo el problema aquí ... use un depurador, y le dirá exactamente en qué condiciones ocurre la afirmación, corríjala, pase a la siguiente. Muchos frameworks de prueba le permiten omitir o saltar a alguna prueba específica si desea ignorar algún problema durante un período corto, pero las afirmaciones son * maravillosas * para la depuración. –