2009-05-27 32 views
13

Ho letto molto sui test Unit e sullo sviluppo Test Driven.Test unitario in C++

Recentemente, ho anche letto il codice di test dell'unità java.

Tuttavia, preferisco sviluppare in Qt. Così ho cercato su "unit test in C++" e ho trovato una serie di informazioni sui vari framework di test unitari disponibili per C++.

Tuttavia, non sono riuscito a trovare un confronto affidabile dei vari framework.

Così guardo alla comunità SO di guidarmi attraverso la selezione di ciò che può il "migliore" framework di test unità per C++.

Inoltre, se qualcuno ha avuto commenti specifici in materia di TDD in Qt (soprattutto utilizzando Qt-Creator), allora sono più che benvenuti.

+0

Cerca SO - esistono più domande per questo argomento. Voto per chiudere. – Gishu

+6

Oh, ma nessuno di loro tocca l'aspetto Qt. – jrharshath

risposta

17

solito uso Boost, ma se si utilizza Qt, la loro QtTestLib potrebbe essere la scelta migliore.

+0

proprio quello che stavo cercando :) – jrharshath

+0

Non so circa Boost tanto ma il più grande svantaggio di QTestLib è che si mangia affidabile, con gli arresti - ad esempio in caso di blocco di unità, si blocca il bagno interi e quindi il rapporto sarà difficile da analizzare (se ci si basa su tale funzione, ad esempio nel report di test automatico). – rasjani

1

Boost è in genere una buona scelta e contiene un framework di test, Boost Test Library. L'ho usato per piccoli test case e ha fatto quello che mi aspettavo, ma non l'ho usato estesamente come in TTD.

2

La famiglia "xUnit" del framework di test è di solito abbastanza solido (JUnit, NUnit, etc.). Non ho usato io stesso, ma c'è un porto di JUnit per C++:

http://sourceforge.net/projects/cppunit

+2

cppUnit è molto facile da usare ed eseguire - lo usiamo in un ambiente commerciale, testando oltre 50 DLL separate, ciascuna con poche migliaia di casi di test. È dimostrato di essere molto affidabile e flessibile. – Thomi

2

C'è un table comparing all (?) the C++ unit test frameworks disponibili da wikipedia.

C'è anche un vecchio comparison of C++ unit test frameworks disponibili. Non penso che non sia stato aggiornato, quindi lo cito come complemento perché è più polemico del tavolo. Copre, CppUnit, CppUnitLite, Boost.Test, NanoCppUnit, Unit ++, CxxTest, in particolare non copre Google C++ framework.

+1

Boost.Il test almeno è stato ampiamente esteso e migliorato da quando i giochi sono stati scritti in un articolo. Lo stesso è probabilmente vero anche per gli altri framework, ma io non li uso, quindi non posso dirlo con certezza. – jalf

5

Vorrei raccomandare doctest (creato da me) - è il più leggero in termini di compilazione da tutti i framework di testing più diffusi. È anche un concorrente diretto a Catch che è attualmente il framework più utilizzato - verifica le differenze nel FAQ