2010-07-05 19 views
8

Tengo un proyecto de 50+ .H/.CPP archivos/clases. Me gustaría probar cada clase con su propio caso de prueba, que incluirá métodos para probar diferentes aspectos de cada clase. Mis clases se encuentran en diferentes directorios, así:cómo organizar casos de prueba con la biblioteca boost :: test?

/project 
    /include 
    /SuperModule 
     Foo.h 
     Foo.cpp 
     .. 
    Alpha.h 
    Alpha.cpp 
    .. 
    /test   // I assume that my tests shall be here 
    main.cpp 
    Makefile 

me gustaría utilizar boost::test como marco de pruebas de unidad. Cómo debería organizar mis archivos, cómo los nombraré, etc. Se apreciará alguna sugerencia o un enlace o sugerencia. Gracias.

Respuesta

2

Estamos utilizando boost :: test en un diseño similar. Nuestro diseño es -

/project 
    /include 
    /SuperModule 
     /Foo 
     foo.c 
     foo.h 
     /foo_unittest 
      foo_unittest.c // note - no separate header file is required 
          // for boost::test unit test.exe program. 

regla de diseño básico es poner la unidad de prueba para una clase en un sub-directorio llamado "foo_unittest" después de la clase en el mismo directorio que el código fuente. La ventaja de esta denominación es

  1. El código fuente y el directorio se almacenan uno al lado del otro. Entonces, mediante una simple inspección, puede ver si ha escrito o no la prueba unitaria.
  2. Además, cuando copie el código fuente, , es fácil copiar la prueba unitaria en al mismo tiempo.

Como nuestros proyectos no son excesivamente complejos (30-50 clases principales), este sistema funciona para nosotros. Si está ejecutando proyectos más grandes, no creo que esta sea una solución óptima.

+0

Esto le dará una buena idea sobre cómo organizar archivos en suites de prueba http://stackoverflow.com/questions/9302777/how-to-achieve-organisation-of-test-suites-and-cases-with-boost –

Cuestiones relacionadas