Pregunta

Tengo un caso de prueba de unidad Boost que hace que el objeto bajo prueba lance una excepción (esa es la prueba, causa una excepción). ¿Cómo especifico en la prueba para esperar esa excepción en particular?

Puedo especificar que la prueba debería tener un cierto número de fallas al usar BOOST_AUTO_TEST_CASE_EXPECTED_FAILURES pero eso parece bastante inespecífico. Quiero poder decir en un punto específico de la prueba que se debe lanzar una excepción y que no se debe considerar como un fracaso.

¿Fue útil?

Solución

¿No funciona esto?

BOOST_CHECK_THROW (expression, an_exception_type);

Eso debería hacer que la prueba pase si la expresión arroja el tipo de excepción dado o, de lo contrario, falla. Si necesita una gravedad diferente a 'CHECK', también puede usar BOOST_WARN_THROW () o BOOST_REQUIRE_THROW () . Consulte la documentación

Otros consejos

También puedes usar BOOST_CHECK_EXCEPTION, que te permite especificar la función de prueba que valida tu excepción.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top