Verifica | |
---|---|
Tip de | Instrument de testare unitară |
Scris in | Xi |
Sistem de operare | Linux , macOS , Windows |
ultima versiune | 0.15.2 ( 7 august 2020 ) |
Stat | activ |
Licență | LGPLv3 |
Site-ul web | libcheck.github.io/check/ |
Check este o bibliotecă de testare unitară în stil xUnit pentru programele C. Distribuit cu teste open source sub o licență gratuită. Principala filozofie a proiectului este de a acoperi toate posibilitățile sistemului de testare cu teste unitare. Suportă rularea testelor în procese separate (prin apelul de sistem fork() în sistemul de operare Linux [1] ) pentru a putea detecta finalizarea incorectă a testelor (de exemplu, din cauza unei erori de segmentare).
Pentru a scrie un program de testare, trebuie să includeți fișierul antet al bibliotecii check.h, să scrieți funcții de testare, să le distribuiți în grupuri și să distribuiți grupurile în suite de testare. După testare, puteți obține numărul de teste care au eșuat.
#include <stdlib.h> // Includeți fișierul antet al bibliotecii. #include <check.h> // Funcție pentru testarea unei sarcini. START_TEST ( nume_test ) { /* Testează codul sursă. */ } END_TEST // Funcție pentru crearea unei suite de teste. Suite * example_suite_create ( void ) { suite * suite = suite_create ( "Exemplu" ); // Setul este împărțit în grupuri de teste, împărțite după niște criterii. TCase * tcase_core = tcase_create ( "Miezul exemplului" ); // Adăugarea unui test la un grup de teste. tcase_add_test ( tcase_core , test_name ); // Adăugarea unui test la suita de teste. suite_add_tcase ( suite , tcase_core ); suită de întoarcere ; } int main ( void ) { Suite * suite = example_suite_create (); SRunner * suite_runner = srunner_create ( suită ); srunner_run_all ( suite_runner , CK_NORMAL ); // Obține numărul de teste eșuate. failed_count = srunner_tests_failed ( suite_runner ); srunner_free ( suite_runner ); dacă ( număr_eșuat != 0 ) { // Semnal că testul a eșuat. returnează EXIT_FAILURE ; } returnează EXIT_SUCCESS ; }