Šek | |
---|---|
Typ | Nástroj pro testování jednotek |
Zapsáno v | Xi |
Operační systém | Linux , macOS , Windows |
Nejnovější verze | 0.15.2 ( 7. srpna 2020 ) |
Stát | aktivní |
Licence | LGPLv3 |
webová stránka | libcheck.github.io/check/ |
Check je knihovna pro testování jednotek ve stylu xUnit pro programy v jazyce C. Distribuováno s open source testy pod svobodnou licencí. Hlavní filozofií projektu je pokrýt všechny možnosti testovacího systému jednotkovými testy. Podporuje spouštění testů v samostatných procesech (prostřednictvím systémového volání fork() v OS Linux [1] ), aby bylo možné odhalit nesprávné dokončení testů (například kvůli chybě segmentace).
Abyste mohli napsat testovací program, musíte zahrnout hlavičkový soubor knihovny check.h, napsat testovací funkce, rozdělit je do skupin a distribuovat skupiny do testovacích sad. Po testování můžete získat počet testů, které selhaly.
#include <stdlib.h> // Zahrnout hlavičkový soubor knihovny. #include <check.h> // Funkce pro testování nějaké úlohy. START_TEST ( test_name ) { /* Otestujte zdrojový kód. */ } END_TEST // Funkce pro vytvoření testovací sady. Suite * example_suite_create ( void ) { suite * suite = suite_create ( "Příklad" ); // Sada je rozdělena do skupin testů, rozdělených podle určitých kritérií. TCase * tcase_core = tcase_create ( "Jádro příkladu" ); // Přidání testu do testovací skupiny. tcase_add_test ( tcase_core , test_name ); // Přidání testu do testovací sady. suite_add_tcase ( suite , tcase_core ); zpáteční souprava ; } int main ( void ) { Suite * suite = example_suite_create (); SRunner * suite_runner = srunner_create ( suite ); srunner_run_all ( suite_runner , CK_NORMAL ); // Získání počtu neúspěšných testů. fail_count = srunner_ntests_failed ( suite_runner ); srunner_free ( suite_runner ); if ( fail_count != 0 ) { // Signál, že test selhal. return EXIT_FAILURE ; } return EXIT_SUCCESS ; }