Tesztelés a MoonScript-kurzuson

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


A MoonScript-kurzusson a tesztelés pontosan ugyanolyan, mint a Lua-kurzusson. Egy feladat könyvtárából írd be a következőt:

$ busted

Függő tesztek

Ez a kurzus az Exercism tesztvezérelt fejlesztés módszertanát követi. Kapsz egy teljes tesztcsomagot, de csak az első teszt „aktív”.

A tesztek engedélyezéséhez írd át egy teszt parancsát pending-ről it-re.

Ha szereted mindig lefuttatni az összes tesztet, egy parancssori eszközzel egyszerre átírhatod mindegyiket. Nézzünk egy példát a perl használatára (amely szinte mindenhol telepítve van):

$ perl -i -pe 's/^\s+\Kpending\b/it/' two_fer_spec.moon

Amikor az online szerkesztőben dolgozol, a tesztfuttató automatikusan lefuttatja az összes tesztet.

A LuaRocks használata

A Lua önmagában egy nagyon kicsi nyelv. A LuaRocks a Lua modulok csomagkezelője.

A megoldásaidban bármilyen modult szabadon használhatsz, de nem mindegyik lesz elérhető az online tesztfuttatóban. A tesztfuttató ezeket biztosítja:

Már elérhető a busted függőségeként

  • penlight (home)

    A Penlight tiszta Lua-könyvtárak halmaza, amelyek megkönnyítik a hétköznapi feladatok elvégzését, például a könyvtárakon való iterálást, a konfigurációs fájlok beolvasását és hasonlókat. Funkcionális műveleteket biztosít táblákon és sorozatokon.

  • dkjson (home)

    A dkjson egy modul JSON-adatok kódolásához és dekódolásához.

Már elérhető a MoonScript függőségeként

  • LPeg (home)

    Az LPeg egy új mintaillesztő könyvtár Luához, amely a Parsing Expression Grammars (PEGs) eljáráson alapul.

  • LuaFileSystem (home)

    A LuaFileSystem hordozható módot kínál a mögöttes könyvtárszerkezet és a fájltulajdonságok elérésére.

Dátum és idő

  • date (github)

    Dátum- és időstringek feldolgozása; idő összeadása és kivonása; időtartam számítása; támogatja az ISO 8601 dátumokat.

  • lua-tz (github)

    A Lua TZ dátum- és időfüggvényeket biztosít az időzónák támogatásával. Az alapfüggvények felülete hasonló az os.date és os.time szabványos függvényekéhez, de emellett egy időzóna argumentumot is elfogadnak.

  • luatz (github)

    Lua-könyvtár az idő és a dátum kezeléséhez.