Tengo una serie de casos de prueba de Boost ordenados en varias suites de prueba. Algunos casos de prueba tienen uno, más de un cheque.¿Cómo decirle a Boost.Test que se detenga en el primer caso de prueba que falla?
Sin embargo, cuando se ejecutan todas las pruebas, todas se ejecutan, sin importar cuántas fallan o pasan. Sé que puedo detener la ejecución de un caso de prueba con varias comprobaciones usando BOOST_REQUIRE
en lugar de BOOST_CHECK
. Pero eso no es querer lo que quiero.
¿Cómo puedo decirle a Boost que detenga toda la ejecución después de que falló el primer caso de prueba? Preferiría una solución compilada (por ejemplo, realizada con un dispositivo global) sobre una solución de tiempo de ejecución (es decir, parámetros de tiempo de ejecución).
BOOST_REQUIRE_THROW generará una excepción, por lo que se debe detener la ejecución de todo el conjunto de pruebas. – TemplateRex
Gracias @rhalbersma. Voy a intentar eso. ¿Por qué no haces una respuesta de eso? –
Ehm, porque después de una lectura más cuidadosa del manual Boost.Test, la sugerencia era incorrecta. BOOST_REQUIRE_THROW es una prueba unitaria para verificar si se lanza una excepción. No se tira a sí mismo. – TemplateRex