Wiem, że jest już kilka pytań dotyczących rekomendacji dla frameworków testów jednostkowych C ++, ale wszystkie odpowiedzi nie pomogły, ponieważ po prostu zalecają jeden z frameworków, ale nie dostarczają żadnych informacji na temat porównania (funkcji).
Myślę, że najciekawsze frameworki to CppUnit, Boost i nowa platforma testowania Google. Czy ktoś już porównał?
c++
unit-testing
cppunit
googletest
boost-test
gospodyni
źródło
źródło
Odpowiedzi:
Zobacz to pytanie do dyskusji.
Polecają artykuły: Poznawanie środowiska Jungle Framework Testing Unit C ++ , autor: Noel Llopis. I nowsze: C ++ Test Unit Frameworks
Nie znalazłem jeszcze artykułu porównującego googletest z innymi ramami.
źródło
Nowym odtwarzaczem jest Google Test (znany również jako Google C ++ Testing Framework ), co jest całkiem miłe.
Główne cechy:
ASSERT_EQ(5, Foo(i)) << " where i = " << i;
SCOPED_TRACE
dla pętli podprogramówźródło
Właśnie wypchnąłem swoją własną platformę CATCH . Jest wciąż w fazie rozwoju, ale wierzę, że już przewyższa większość innych platform. Różni ludzie mają różne kryteria, ale starałem się objąć większość gruntów bez zbyt wielu kompromisów. Spójrz na mój link do blogu, aby zobaczyć degustatora. Moje pięć najważniejszych funkcji to:
Posiada również wiązania Objective-C. Projekt jest hostowany na Github
źródło
CHECK_FLASE
iREQUIRE_FLASE
makra.Biblioteka testów doładowania jest bardzo dobrym wyborem, szczególnie jeśli już używasz doładowania.
To wspiera:
PS: Napisałem o tym artykuł, który może ci pomóc: C ++ Unit Testing Framework: A Boost Test Tutorial
źródło
Wikipedia ma obszerną listę ram testów jednostkowych , z tabelami, które identyfikują obsługiwane funkcje lub nie.
źródło
Niedawno wypuściłem xUnit ++ , szczególnie jako alternatywę dla Google Test i Boost Test Library (zobacz porównania ). Jeśli znasz xUnit.Net, jesteś gotowy na xUnit ++.
Główne cechy:
Assert.Equal(-1, foo(i)) << "Failed with i = " << i;
Log.Debug << "Starting test"; Log.Warn << "Here's a warning";
źródło
CppUTest - bardzo ładny, lekki framework z fałszywymi bibliotekami. Warto przyjrzeć się bliżej.
źródło
CPUnit ( http://cpunit.sourceforge.net ) jest strukturą podobną do Google Test, ale która opiera się na mniejszej liczbie makr (aserts są funkcjami) i gdzie makra są prefiksowane, aby uniknąć zwykłej pułapki makr. Testy wyglądają następująco:
Rejestrują się automatycznie, więc nie potrzebujesz więcej. Następnie jest po prostu skompilować i uruchomić. Uważam, że używanie tego frameworka przypomina JUnit dla tych, którzy musieli poświęcić trochę czasu na programowanie w Javie. Bardzo dobrze!
źródło
Istnieje kilka odpowiednich zasobów do testowania jednostkowego C ++ na stronie http://www.progweap.com/resources.html
źródło
API Sanity Checker - środowisko testowe dla bibliotek C / C ++:
Unikalne funkcje w porównaniu z CppUnit, Boost i Google Test:
źródło