2011-08-26 16 views
15

Ho appena iniziato un nuovo progetto C, utilizzando gcc (attualmente 4.5.2). Ora, prima che diventi troppo grande, voglio iniziare l'unità testandola. Dopo alcuni googling mi sono reso conto che ci sono numerosi framework da cui scegliere. Non posso permettermi di provarli tutti.Quale framework di test dell'unità C?

Nota che non mi interessa usare g ++ per i test di unità, finché posso usare gcc per il progetto stesso. Non guasta se ha una buona integrazione con VIM, anche se non è obbligatorio.

Quindi, semplicemente, quale dovrei scegliere e perché?

+0

possibile duplicato di [Unit Testing C Code] (http://stackoverflow.com/questions/65820/unit-testing -c-code) – philant

risposta

5

Ho giocato con libcheck, che è abbastanza buono. È passato un po 'di tempo dall'ultima volta che l'ho usato, ma fa il lavoro, ed è giusto C.

+0

Ho letto di questo. Vale la pena, credo. Grazie! – Johan

3

Personalmente sono un fan dello Google C++ Testing Framework. Richiede g ++ (non credo che ci sia un modo per aggirarlo), ma gestisce gli apparecchi di prova molto bene e ha un output di test molto utile. Questo è il framework utilizzato da Chrome. Inoltre, non devi preoccuparti di installarlo sul tuo sistema, poiché può essere costruito insieme al resto della tua fonte.

un file di test può essere semplice come questo:

#include "gtest/gtest.h" 
#include "random.h" 

TEST(TestGetRandomInt, ReturnsARandomNumber){ 
    ASSERT_EQ(4, getRandomInt()); 
} 
+0

Puoi usarlo per testare un progetto compilato con gcc, sebbene i test siano scritti per g ++? – Johan

+0

@ Johan - Credo di sì. La pagina web del framework pubblicizza la compatibilità con gcc, ma non l'ho mai usata in questo modo. Includono un Makefile, in modo da avere il controllo completo su come i test vengono compilati e collegati. – derekerdmann

+3

+1 per quello che spero sia un riferimento xkcd velato. –