Kolla upp | |
---|---|
Sorts | Enhetstestverktyg |
Skrivet i | Xi |
Operativ system | Linux , macOS , Windows |
senaste versionen | 0.15.2 ( 7 augusti 2020 ) |
stat | aktiva |
Licens | LGPLv3 |
Hemsida | libcheck.github.io/check/ |
Check är ett enhetstestbibliotek i xUnit -stil för C -program . Distribueras med öppen källkodstester under en gratis licens. Projektets huvudfilosofi är att täcka alla testsystemets möjligheter med enhetstester. Stöder körning av tester i separata processer (via systemanropet fork() i Linux OS [1] ) för att kunna upptäcka felaktigt slutförande av tester (till exempel på grund av ett segmenteringsfel).
För att skriva ett testprogram måste du inkludera rubrikfilen för biblioteket check.h, skriva testfunktioner, distribuera dem i grupper och distribuera grupperna i testsviter. Efter testet kan du få antalet test som misslyckades.
#include <stdlib.h> // Inkludera rubrikfilen för biblioteket. #include <check.h> // Funktion för att testa någon uppgift. START_TEST ( test_name ) { /* Testa källkoden. */ } END_TEST // Funktion för att skapa en testsvit. Suite * example_suite_create ( ogiltig ) { suite * suite = suite_create ( "Exempel" ); // Uppsättningen är indelad i grupper av tester, uppdelade efter några kriterier. TCase * tcase_core = tcase_create ( "Core of example" ); // Lägga till ett test i en testgrupp. tcase_add_test ( tcase_core , test_name ); // Lägger till ett test i testsviten. suite_add_tcase ( svit , tcase_core ); retursvit ; _ } int main ( void ) { Svit * svit = exempel_svit_skapa (); SRunner * suite_runner = srunner_create ( suite ); srunner_run_all ( suite_runner , CK_NORMAL ); // Få antalet underkända tester. failed_count = srunner_ntests_failed ( suite_runner ); srunner_free ( suite_runner ); if ( failed_count != 0 ) { // Signalera att testet har misslyckats. returnera EXIT_FAILURE ; } returnera EXIT_SUCCESS ; }