2010-09-09 12 views
5

Estoy tratando de aprender a probar programas, así que probé Boost. He empezado a leerlo y here He conocido a esta línea:Cómo usar boost :: unit_test?

Ahora puede compilar y enlazar con el marco de pruebas unidad.
¿De dónde y cómo se supone que debo obtener el marco de prueba de la unidad? Y que es?
Simplemente no sé con qué comerlo. ¿Podría alguien dar algunos pasos sobre cómo usarlo o tal vez apuntarme a algunos otros tutoriales donde se explicarán incluso las cosas más simples como el marco de prueba de la unidad y cómo vincularlo?
Gracias

+0

El tutorial en http://www.boost.org/doc/libs/1_44_0/libs/test/doc/html/tutorials/new-year-resolution.html es extraño. El correo electrónico al comienzo de la página http://www.boost.org/doc/libs/1_44_0/libs/test/doc/html/tutorials/intro-in-testing.html está muerto. Y parece que el autor incluso no ha compilado el código, la terrible macro BOOST_AUTO_EST_CASE (carta perdida) utilizada en la página http://www.boost.org/doc/libs/1_44_0/libs/test/doc/html/tutorials/ new-year-resolution.html – sergtk

+0

Todo arreglado con Boost 1.60+ – Raffi

Respuesta

2

Solo un comentario rápido. El problema con esta biblioteca es que tiene al menos tres formas diferentes de implementar y ejecutar las pruebas. Dependiendo de qué #defines agregue a su código antes de incluir el encabezado de prueba de la unidad de impulso, puede generar automáticamente una función principal para usted (y luego construir un programa completo que ejecute las pruebas que ha definido), o confiar en los corredores de prueba externos.

Lea atentamente los modos de funcionamiento para saber qué hacer. Por lo general, la forma más fácil es hacer esto:

  • Incluya sus pruebas en un archivo .cpp.
  • Antes de incluir el archivo de cabecera de prueba de unidad, defina el preprocesador macro BOOST_TEST_MAIN (esto va a definir una función principal que va a ejecutar las pruebas)
  • Enlace su programa contra la DLL de unidad de prueba libboost (esto depende del sistema).

Su programa ejecutará las pruebas definidas, gracias a la función principal generada automáticamente.

+0

Esto no es un problema. Esta es la característica;) –

+0

Gennadiy, ¿puede echar un vistazo a mi comentario a la pregunta? – sergtk

Cuestiones relacionadas