xUnit and xUnit.BDDExtensions using ReSharper 5.1

Wer von MSTest auf xUnit (derzeit 1.6.1.1521) und ggf. xUnit.BDDExtenions umsteigt wird schnell die integrierte Unterstützung innerhalb von Visual Studio vermissen. Mit ReSharper alles kein Problem, denkt man. Die aktuelle Version 5.1 von ReSharper (ich verwende derzeit Build 5.1.1727.12) macht hier allerding ein paar Probleme, die sich innerhalb weniger Minuten jedoch lösen lassen.

Laut der Plug-In-Seite von ReSharper bringt xUnit.net Contrib die gewünschte Unterstützung mit sich. Hier ist s jedoch erforderlich derzeit auf die Version 0.4.1 alpha auszuweichen. Dabei sollte man sich nicht davon abbringen lassen, dass die angegebene Version einen speziellen ReSharper-Build adressiert.

Die Installation bedarf es lediglich eine Reihe von Schritten aus der readme.txt zu befolgen. Zunächst muss der Inhalt des Ordners xunitcontrib.runner.resharper.5.1 aus dem Archiv in das Verzeichnis

C:Program FilesJetBrainsReSharperv5.0binplugins

oder auf 64-Bit-Maschinen

C:Program Files (x86)JetBrainsReSharperv5.0binplugins

kopiert werden. Wurden auf dieser Maschine zuvor noch keine ReSharper-Plug-Ins installiert, muss der Ordner plugins manuell angelegt werden.

Nun ist der die Datei xunit.xml aus dem Ordner resharper.external.annotations nach

C:Program FilesJetBrainsReSharperv5.0binExternal Annotations

bzw. dem entsprechenden Ordner auf 64-Bit-Maschinen

C:Program Files (x86)JetBrainsReSharperv5.0binExternal Annotations

zu kopieren.

Im letzten (optionalen) Schritt gilt es das Live Template zu importieren. Hierüber lassen sich xUnit-Code-Snippets nutzen. Dazu über das Menü ReSharper / LiveTemplates… den Templates Explorer starten und über das Import-Icon entweder die Datei xunit-ae.xml oder xunit-xe.xml aus dem Ordner resharper.live.templates auswählen.

Der Unterschied der beiden Live Templates ist lediglich  ist ob die Code-Snippets mit dem Buchstaben a oder x aufgerufen werden können.

ReSharper Live Templates

Nach der Installation (und einem Neustart von Visual Studio) lassen sich die xUnit-Tests direkt über den ReSharper Unit Test Explorer ausführen. Eine positive Überraschung war, das die xUnit.BDDExtenions ebenfalls sofort über den Unit Test Explorer ausgeführt werden konnten. Zuvor habe ich lediglich die xUnit.BDDExtensions gegen die aktuelle xUnit-Version (1.6.1.1521) kompiliert.

ReSharper Unit Test Explorer

Dem Testen mit xUnit innerhalb von Visual Studio steht damit nichts mehr im Weg.

Leave a Reply