Tesztelés a Rust kurzuson

Tanuld meg, hogyan tesztelheted a Rust feladataidat az Exercism-ön


A kódodat a src/lib.rs fájlba írd. A feladatokhoz tartozik egy vázfájl a src/lib.rs-ben, amely megmutatja a megírandó kód szignatúráit.

A legtöbb feladatnál érdemes minden kódodat a src/lib.rs fájlba írni. Ha a megoldásodat több fájlra szeretnéd bontani, nézd meg a Rust könyvének modulokról szóló fejezetét.

A tesztek futtatása

A tesztek futtatásához mindössze a következő parancsot kell kiadnod:

$ cargo test

Alapértelmezés szerint csak az első teszt van engedélyezve. Miután készen állsz rá, hogy a következő tesztet teljesítsd, távolítsd el az ignore jelzőt a következő tesztből (#[ignore]). Ha úgy jobban tetszik, az összes tesztből egyszerre is eltávolíthatod a jelzőt.

Nyugodtan írj a lehető legkevesebb kódot, hogy a tesztek átmenjenek. A sikertelen tesztek megmutatják, mit érdemes következőként megírni.

Mivel a Rust minden kódot fordításkor ellenőriz, előfordulhat, hogy a tesztjeid nem fordulnak le, amíg meg nem írod a szükséges kódot. Még az ignore-olt teszteket is ellenőrzi a fordító. Azokat a teszteket, amelyek nem fordulnak le, kikommentelheted úgy, hogy minden sorukat //-tel kezded. Amikor aztán készen állsz arra, hogy ezen a teszten dolgozz, visszavonhatod a kikommentelést. A Rustnak van egy speciális makrója is, a todo!(), amelyet a befejezetlen kódrészeken használhatsz, hogy a programod leforduljon.

Könyvtárak használata

A legtöbb feladatot külső könyvtárak használata nélkül is meg tudod oldani. Ennek ellenére hozzáadhatsz könyvtárakat (a Rust közösségében ezeket crate-eknek nevezik) úgy, hogy a feladat könyvtárában lefuttatod a cargo add crate-name parancsot.

A weboldalon futó automatikus tesztek csak egy előre meghatározott crate-készletet támogatnak, amelyeket itt találsz, a [dependencies] szakasz alatt. Nyugodtan nyiss egy issue-t vagy pull requestet, ha szeretnéd, hogy egy adott crate támogatása bekerüljön.