- Translation of unit_testing.md - 2 Corrections by him
3.6 KiB
title | layout | root | idx | description | redirect_from |
---|---|---|---|---|---|
Automatische Fehlerüberprüfung | default | ../.. | 8.2 | Verwenden Sie LuaCheck, um Fehler zu finden | /de/chapters/luacheck.html |
Einleitung
In diesem Kapitel werden Sie lernen, wie Sie das Werkzeug LuaCheck benutzt, um Ihren Mod auf Fehler zu überprüfen. Dieses Werkzeug kann in Kombination mit deinem Editor verwendet werden, um auf Fehler aufmerksam zu machen.
Installation von LuaCheck
Windows
Laden Sie einfach luacheck.exe von der Github-Releaseseite herunter.
Linux
Zuerst müssen Sie LuaRocks installieren:
sudo apt install luarocks
Sie können LuaCheck dann global (also für alle Benutzer) installieren:
sudo luarocks install luacheck
Prüfen Sie mit dem folgenden Befehl, ob es installiert ist:
luacheck -v
LuaCheck ausführen
Wenn Sie LuaCheck zum ersten Mal ausführen, wird es wahrscheinlich eine Menge falscher Fehler erkennen. Das liegt daran, dass es noch konfiguriert werden muss.
Unter Windows öffnen Sie die Powershell oder Bash im Stammverzeichnis Ihres Projekts und führen Sie path\to\luacheck.exe
aus.
Unter Linux führen Sie luacheck
aus, während Sie sich im Stammordner Ihres Projekts befinden.
LuaCheck konfigurieren
Erstellen Sie eine Datei namens .luacheckrc
im Stammverzeichnis Ihres Projekts. Dies kann das Stammverzeichnis Ihres Spiels, Modpacks oder Mods sein.
Fügen Sie den folgenden Inhalt in diese Datei ein:
unused_args = false
allow_defined_top = true
globals = {
"minetest",
}
read_globals = {
string = {fields = {"split"}},
table = {fields = {"copy", "getn"}},
-- Eingebaut
"vector", "ItemStack",
"dump", "DIR_DELIM", "VoxelArea", "Settings",
-- MTG
"default", "sfinv", "creative",
}
Als nächstes müssen Sie testen, ob es funktioniert, indem Sie LuaCheck ausführen. Diesmal sollten Sie viel weniger Fehler erhalten. Ändern Sie ab dem ersten Fehler, den Sie erhalten, den Code, um um das Problem zu beseitigen oder ändern Sie die Konfiguration, wenn der Code korrekt ist. Siehe die Liste unten.
Fehlerbehebung
- accessing undefined variable foobar - Wenn
foobar
eine globale Variable sein soll, fügen Sie diese zuread_globals
hinzu. Andernfalls fügen Sie alle fehlendenlocal
zum Mod hinzu. - setting non-standard global variable foobar - Wenn
foobar
eine globale Variable sein soll, fügen Sie diese zuglobals
hinzu. Entfernen Sie diese ausread_globals
, falls vorhanden. Andernfalls fügen Sie alle fehlendenlocal
zum Mod hinzu. - mutating read-only global variable 'foobar' - Verschieben Sie
foobar
vonread_globals
nachglobals
oder hören Sie auf, in foobar zu schreiben.
Verwendung mit einem Editor
Es wird dringend empfohlen, dass Sie ein Plugin für den Editor Ihrer Wahl finden und installieren, das Ihnen Fehler anzeigt, ohne dass Sie einen Befehl ausführen müssen. Für die meisten Editoren ist wahrscheinlich ein Plugin verfügbar.
- VSCode - Ctrl+P, dann einfügen:
ext install dwenegar.vscode-luacheck
- Sublime - Installieren Sie mit Hilfe von package-control: SublimeLinter, SublimeLinter-luacheck.