Suche

Xpect Framework für Xtext-Entwickler vorgestellt

Hartmut Schlosser

Ein Framework zum Testen, Diskutieren und Erklären von Xtext-Sprachen ist Xpect. Auf seinem Blog stellt Xpect-Entwickler Moritz Eysholdt das Framework vor und erklärt den Entstehungshintergrund: In der Projektarbeit mit Xtext stehen oft die Aufgaben an, automatisierte Tests für das Sprachtooling bereitzustellen, Design- und Implementierungsentscheidungen mit verschiedenen Stakeholdern zu diskutieren, Akzeptanztests durchzuführen, die Domänensprache den Entwickler-Kollegen sowie den späteren Sprachanwendern zu erklären, etc. Da für diese Aufgaben bisher unterschiedliche Tools eingesetzt werden mussten, wurde Xpect ins Leben gerufen. Mit dem Framework lässt sich die Kommunikation zwischen allen Beteiligten, insbesondere zwischen Xtext-Entwicklern, Domänenexperten und Nutzern der Domänen-Sprache verbessern.

Xpect basiert auf JUnit, funktioniert aber über Beispieldokumente, die auch erklären, wie eine Domänensprache zu nutzen ist. Test-Erwartungen lassen sich in Kommentare von Beispiel-Dokumenten einbetten. Die Kommentare sind in einem speziellen Format gehalten, das sowohl für Menschen lesbar als auch automatisch durch Test Suites verifizierbar ist. Die Xpect Tests funktionieren im Zusammenspiel mit Maven, Tycho, Surefire, Buckminster und Jenkins, da sie als normale JUnit Tests ausgeführt werden.

Einen detaillierten Use Case für Xpect beschreibt Eysholdt auf seinem Blog. Xpect steht quelloffen unter der EPL (Eclipse Public Licence) auf GitHub bereit.  

Geschrieben von
Hartmut Schlosser
Hartmut Schlosser
Hartmut Schlosser ist Redakteur und Online-Koordinator bei Software & Support Media für die Portale JAXenter, Windows Developer und PHP Magazin. Seine Spezialgebiete liegen bei Java-Enterprise-Technologien, Eclipse & ALM, Android und Business Technology. Vor seiner Tätigkeit bei S & S Media studierte er Musik, Informatik, französische Philologie und Ethnologie.
Kommentare

Hinterlasse eine Antwort

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *

Du kannst folgende HTML-Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>