2010-07-05 1 views
8

Ho un progetto di 50 + .H/.CPP file/classi. Vorrei testare ogni classe con il suo caso di test, che includerà metodi per testare aspetti diversi di ogni classe. Le mie lezioni si trovano in diverse directory, in questo modo:come organizzare i test case con boost :: test library?

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

Vorrei utilizzare boost::test come un quadro di unit test. Come dovrei organizzare i miei file, come posso nominarli, ecc. Qualche suggerimento, un link o un suggerimento saranno apprezzati. Grazie.

risposta

2

Stiamo utilizzando boost :: test in un layout simile. Il nostro layout è -

/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. 

regola di layout di base è quella di mettere il test di unità per una classe in una sotto-directory chiamata "foo_unittest" dopo la classe nella stessa directory del codice sorgente. Il vantaggio di questa denominazione è

  1. Il codice sorgente e la directory sono memorizzati uno accanto all'altro. Quindi con una semplice ispezione puoi vedere se hai scritto il test unitario o meno.
  2. Inoltre, quando si copia il codice sorgente, , è facile copiare il test dell'unità a contemporaneamente.

Poiché i nostri progetti non sono eccessivamente complessi (30-50 classi principali), questo sistema funziona per noi. Se stai eseguendo progetti più grandi, non penso che sarebbe una soluzione ottimale.

+0

Questo ti darà una buona idea su come organizzare i file sulle suite di test http://stackoverflow.com/questions/9302777/how-to-achieve-organisation-of-test-suites-and-cases-with-boost –