Apprends à tester tes exercices Lua sur Exercism
Lance tes tests avec
$ busted
Pour installer busted, consulte Installer Lua en local.
Ce guide te montre comment configurer VSCode avec le framework de test Busted et Local Lua Debugger, afin que tu puisses définir des points d'arrêt à la fois dans le fichier de test et dans le fichier qu'il teste, ce qui facilite un workflow de développement piloté par les tests tout simple. Ce n'est pas la méthode canonique, bien d'autres peuvent fonctionner, mais celle-ci te permettra au moins de démarrer (remarque : elle a été testée et fonctionne sous Windows 10 et Ubuntu 20.04).
Une fois tout ce jargon écarté, commençons.
Tu peux passer ces parties, elles ne servent qu'à expliquer le processus.
Dans VSCode, supprime ou désactive toutes les autres extensions de débogage Lua, puis installe Local Lua Debugger. Crée ensuite une configuration de lancement personnalisée comme ceci :
{
"name": "Busted",
"type": "lua-local",
"request": "launch",
"program": {
"command": "busted"
},
"cwd": "${workspaceFolder}/${relativeFileDirname}",
"args": ["${file}"],
"integratedTerminal": true
}
remarque : La propriété integratedTerminal affichera un avertissement indiquant Property integratedTerminal is not allowed, mais tu peux tout à fait l'ignorer.
La propriété
cwddésigne le répertoire de travail courant, ce qui est important pour la résolution des chemins. Par défaut, Exercism installe chaque exercice dans son propre dossier, à l'intérieur du dossier portant le nom du parcours. Dans le cas de Lua, cela ressemble donc à ceci :└── Exercism/ ├── lua/ │ ├── armstrong-numbers │ ├── bank-account │ ├── binarysearch │ └── etc... └── python/ └── etc...Donc, quand on ouvre VSCode depuis le dossier
/lua, comme ceci :
C:\users\<username>\Exercism\lua> code .ou
/home/<username>/exercism/lua> code .VSCode affichera chaque exercice dans son propre dossier dans notre espace de travail. Cela signifie qu'il faut que la configuration de lancement change le répertoire de travail courant,
cwd, pour chaque dossier d'exercice. On y parvient grâce à une combinaison des variables VSCode${workspaceFolder}et${relativeFileDirname}.La propriété
argsindique quel argument doit être transmis à Busted. Ici, on utilise la variable${file}pour faire référence au fichier actuellement ouvert.
Ajoute ensuite ces trois lignes au début du fichier de test de l'exercice que tu es en train de faire, nommé <exercise_name>_spec.lua :
if os.getenv("LOCAL_LUA_DEBUGGER_VSCODE") == "1" then
require("lldebugger").start()
end
Maintenant, quand tu veux lancer les tests avec le débogueur, ouvre le fichier de test, puis lance la configuration de lancement que tu viens de créer depuis la barre latérale Run and Debug (Ctrl+Shift+D) à gauche. Si le fichier de test a le focus, la configuration de lancement exécutera ces tests, s'arrêtera sur les points d'arrêt et affichera la sortie dans l'onglet DEBUG CONSOLE du terminal intégré, en bas.
Bon code !