Tanuld meg, hogyan teszteld a C feladataidat az Exercism-ön
Minden feladat biztosítja az egységteszteket és egy Make-fordítási receptet. A megvalósítást neked kell elkészítened.
Minden tesztfájl a te megvalósításodhoz linkelődik, hogy létrejöjjön egy konzolról futtatható program, amely lefuttatja a teszteket. A tesztprogram futtatása minden sikertelen tesztnél üzenetet ír ki, és nullától eltérő kilépési állapotot jelez, ha a tesztek elbuknak.
Így dolgozhatsz végig egy feladatot:
TEST_IGNORE() sort.Minden feladat hoz magával egy makefile fájlt és egy .c fájlt az egységtesztekkel.
A Make fájlt valószínűleg nem kell szerkesztened.
A mellékelt Make fájl azt feltételezi, hogy a megvalósításod egy fejlécfájlból (.h) és egy forrásfájlból (.c) áll, amelyek a feladatról kapták a nevüket.
Például a bob feladat a bob.h és bob.c fájlban várja a megvalósítást.
A kötőjelet tartalmazó nevű feladatoknál a forrásfájlokról feltételezzük, hogy alulvonást használnak, így a word-count a word_count.h és word_count.c fájlt várja.
Dönthetsz úgy, hogy a megvalósításod elég egyszerű ahhoz, hogy teljes egészében a fejlécben legyen, ebben az esetben elhagyhatod a .c fájlt.
A Make futtatása előtt hozd létre a kezdeti megvalósításfájlokat.
Ha a bob feladat Make-jének futtatásakor nem léteznek a bob.h és bob.c fájlok, a Make hibát jelez, hogy nem találja a fájlokat.
Ezek a fájlok lehetnek üresek, de létezniük kell.
A kód lefordításának legegyszerűbb módja, ha a parancssorban (CLI) futtatod a make parancsot.
Linuxon a parancssor bashben vagy hasonlóban érhető el, MacOS-en használd a Terminált.
Windows 10-en a Windows Subsystem for Linux (WSL) Bash áll rendelkezésre.
Ehhez, feltéve hogy az aktuális könyvtár a feladat mappája:
$ make
Ez lefordítja a kódodat és lefuttatja a teszteket.
A makefile tartalmaz egy olyan buildet is, amely néhány gyakori hibát ellenőriz: memóriaszivárgást és a tömbökön túli indexelést.
Az ellenőrzések futtatásához írd be a következőt a parancssorba:
$ make memcheck
Egy build után a make segítségével törölheted az összes build-kimenetet, a futtatható fájlt is beleértve:
$ make clean
MacOS-en az Xcode-ot is használhatod. A kód lefordításához válaszd a Build elemet az eszköztárból.