Jelölje be | |
---|---|
Típusú | Egységvizsgáló eszköz |
Beírva | Xi |
Operációs rendszer | Linux , macOS , Windows |
legújabb verzió | 0.15.2 ( 2020. augusztus 7. ) |
Állapot | aktív |
Engedély | LGPLv3 |
Weboldal | libcheck.github.io/check/ |
A Check egy xUnit stílusú egységtesztelési könyvtár C programok számára . Nyílt forráskódú tesztekkel terjesztve ingyenes licenc alatt. A projekt fő filozófiája, hogy egységtesztekkel lefedje a tesztelési rendszer minden lehetőségét. Támogatja a tesztek futtatását különálló folyamatokban (a fork() rendszerhíváson keresztül Linux operációs rendszerben [1] ), hogy képes legyen észlelni a tesztek helytelen befejezését (például szegmentálási hiba miatt).
Tesztprogram írásához tartalmaznia kell a könyvtár fejlécfájljátcheck.h , tesztfüggvényeket kell írnia, csoportokba kell osztania, és a csoportokat tesztcsomagokba kell osztania. A tesztelés után megtudhatja a sikertelen tesztek számát.
#include <stdlib.h> // Tartalmazza a könyvtár fejlécfájlját. #include <check.h> // Funkció valamilyen feladat tesztelésére. START_TESZT ( teszt_név ) { /* Forráskód tesztelése. */ } END_TESZT // Tesztkészlet létrehozásának függvénye. Suite * example_suite_create ( érvénytelen ) { suite * suite = suite_create ( "Példa" ); // A halmaz tesztcsoportokra van felosztva, néhány kritérium alapján. TCase * tcase_core = tcase_create ( "Példa magja" ); // Teszt hozzáadása egy tesztcsoporthoz. tcase_add_test ( tcase_core , teszt_neve ); // Teszt hozzáadása a tesztkészlethez. suite_add_tcase ( suite , tcase_core ); visszatérő lakosztály ; } int main ( érvénytelen ) { Suite * suite = example_suite_create (); Srunner * suite_runner = srunner_create ( suite ); srunner_run_all ( suite_runner , CK_NORMAL ); // A sikertelen tesztek számának lekérése. failed_count = srunner_ntests_failed ( suite_runner ); srunner_free ( suite_runner ); if ( sikertelen_szám != 0 ) { // Jelzi, hogy a teszt nem sikerült. return EXIT_FAILURE ; } return EXIT_SUCCESS ; }