Tanuld meg, hogyan teszteld a Lua-feladataidat az Exercism-ön
A teszteket így futtathatod:
$ busted
A busted telepítésével kapcsolatban lásd a Lua helyi telepítése című részt.
Ez az útmutató megmutatja, hogyan állítsd be a VSCode-ot a Busted tesztkeretrendszerrel és a Local Lua Debugger kiterjesztéssel, hogy töréspontokat helyezhess el mind a tesztspecifikációban, mind a tesztelt fájlban, ezzel megkönnyítve egy egyszerű tesztvezérelt fejlesztés munkafolyamatát. Ez nem az egyetlen helyes út, sok módszer működhet, de ez legalább segít elindulni (megjegyzés: ezt Windows 10-en és Ubuntu 20.04-en teszteltük, és működik).
Most, hogy a szakzsargonon túl vagyunk, kezdjük is el.
Ezeket a részeket kihagyhatod, mert csak a folyamat magyarázatát szolgálják.
A VSCode-ban távolítsd el vagy tiltsd le az összes többi Lua-hibakereső kiterjesztést, és telepítsd a Local Lua Debugger kiterjesztést. Ezután hozz létre egy egyéni indítási konfigurációt, például így:
{
"name": "Busted",
"type": "lua-local",
"request": "launch",
"program": {
"command": "busted"
},
"cwd": "${workspaceFolder}/${relativeFileDirname}",
"args": ["${file}"],
"integratedTerminal": true
}
megjegyzés: Az integratedTerminal tulajdonság egy figyelmeztetést ad, amely szerint Property integratedTerminal is not allowed, de ezt nyugodtan figyelmen kívül hagyhatod.
A
cwdtulajdonság adja meg az aktuális munkakönyvtárat, ami fontos az útvonalak feloldásához. Az Exercism alapértelmezés szerint minden feladatot a saját mappájába telepít, a kurzus nevéhez tartozó mappa alá. Lua esetében ez így néz ki:└── Exercism/ ├── lua/ │ ├── armstrong-numbers │ ├── bank-account │ ├── binarysearch │ └── etc... └── python/ └── etc...Tehát amikor a
/luamappából nyitjuk meg a VSCode-ot, így:
C:\users\<username>\Exercism\lua> code .vagy
/home/<username>/exercism/lua> code .A VSCode minden feladatot a saját mappájában mutat a munkaterületen. Ez azt jelenti, hogy az indítási konfigurációnak minden egyes feladat mappájára módosítania kell az aktuális munkakönyvtárat, a
cwd-t. Ezt a${workspaceFolder}és a${relativeFileDirname}VSCode-változó kombinációjával érjük el.Az
argstulajdonság adja meg, milyen argumentumot kell átadni a Busted-nek. Esetünkben a${file}változóval hivatkozunk az éppen megnyitott fájlra.
Ezután írd be ezt a három sort annak a feladatnak a tesztfájljának az elejére, amelyen éppen dolgozol; a fájl neve <exercise_name>_spec.lua:
if os.getenv("LOCAL_LUA_DEBUGGER_VSCODE") == "1" then
require("lldebugger").start()
end
Amikor most a hibakeresővel szeretnéd futtatni a teszteket, nyisd meg a tesztfájlt, majd indítsd el az imént létrehozott indítási konfigurációt a bal oldali Run and Debug (Ctrl+Shift+D) oldalsávból. Ha a tesztfájl van fókuszban, az indítási konfiguráció lefuttatja ezeket a teszteket, megáll a töréspontoknál, és a kimenetet az alsó integrált terminál DEBUG CONSOLE lapjára írja.
Jó kódolást!