Dan Tuppeny veröffentlicht Lua-Testadapter für Visual Studio

Der Entwickler Dan Tuppeny hat am 16. Februar 2014 einen Lua-Testadapter für Visual Studio veröffentlicht. Das Werkzeug entstand während der Arbeit an dem World-of-Warcraft-Addon RareShare, das ohne eigene Benutzeroberfläche vor allem mit der World-of-Warcraft-API arbeitet. Für die automatisierten Tests wollte Tuppeny die Ausgaben von lua.exe nicht länger manuell auswerten.

Der Adapter entdeckt und startet Lua-Tests direkt aus Visual Studio. Die Projektdateien auf GitHub halten die Lua-spezifischen Bestandteile von der zentralen Adapterbaugruppe getrennt. Dadurch sollte sich das Verfahren auch auf externe Testsprachen wie Python, Perl oder JavaScript übertragen lassen. Ein Demovideo zeigt den Adapter im Einsatz.

https://www.youtube.com/watch?v=fW3L3LTMdBw

Testadapter und Container-Erkennung

Für Tests außerhalb von DLL- oder EXE-Dateien reicht ein gewöhnlicher Testadapter in Visual Studio nicht aus. Tuppeny musste zusätzlich einen ITestContainerDiscoverer einbinden. Dafür wird das Visual-Studio-SDK benötigt. Der Testadapter selbst lässt sich zwar über NuGet verteilen, ein Test-Container-Discoverer muss dagegen als echte Visual-Studio-Erweiterung registriert werden.

Im VSIX-Paket ist dafür ein Asset vom Typ UnitTestExtension erforderlich. Diese Einstellung war in der damaligen Oberfläche nicht direkt auswählbar. Die Entwicklungsumgebung kann außerdem mehrere Anfragen zur Testliste gleichzeitig stellen. Ein Adapter muss deshalb mit parallelen Aufrufen umgehen können, auch wenn ein vorheriger Suchvorgang noch läuft.

Automatisierte Tests für Add-ons

Der Ansatz verbindet die Arbeit an einem Add-on mit einer gewohnten Testumgebung für .NET-Projekte. Das ist besonders für kleine Spiele- und Modding-Projekte interessant, bei denen Skripte, Datenformate und externe Laufzeiten gemeinsam geprüft werden müssen. Die Trennung der Bestandteile erleichtert es, weitere Sprachadapter zu ergänzen. Grundlagen zu strukturierten Mustern der Spieleprogrammierung gehören ebenfalls zum technischen Umfeld solcher Werkzeuge.

Weitere News

Weitere News

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein