2016-08-22 6 views
1

Ich bin ein R # -Plugin bauen und beschlossen, es mit Tests zu decken. Ich habe jedoch festgestellt, dass Plugin-Tests nicht mit dem R # -Läufer ausgeführt werden können, wenn die Plugin-Zielversion mit der R # -Version übereinstimmt.Führen Sie ReSharper-Plugin-Tests mit R # -Test Runner

Zum Beispiel, wenn Sie versuchen, zum Ausführen von Tests mit JetBrains.ReSharper.SDK.Tests der Version 2016.2.20160818.171542, erhalten Sie die folgende Fehlermeldung erhalten:

ERROR System.TypeLoadException: Method 'RunTests' in type 'JetBrains.ReSharper.UnitTestRunner.nUnit26.BuiltInNUnitRunner' from assembly 'JetBrains.ReSharper.UnitTestRunner.nUnit26, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null' does not have an implementation.

In früheren Versionen der Fehler anders war.

Wahrscheinlich passiert das, weil R # Läufer und SDK-Baugruppen eine Mischung machen.

Gibt es eine Möglichkeit, Projekt/R # so zu konfigurieren, dass Plug-in-Komponententests mit dem R # -Läufer ausgeführt werden können? Wahrscheinlich verwendet R # dev Team ihren eigenen Läufer.

Danke!

Antwort

2

Leider ist dies ein Fehler im ReSharper Runner in 201.6.2. Etwas mit mehreren Kopien derselben Baugruppen im selben Prozess zu tun - die Baugruppen aus der Installation und die Baugruppen aus dem Ordner bin. Irgendwas wird auf dem Weg durcheinander gebracht.

Sie können abstimmungs abonnieren und Verfolgung dieses Problems: RSRP-460399

Die Abhilfe ist eine ältere Version von ReSharper in ein Visual Studio „experimentelle Instanz“ aka „custom hive“, und verwenden Sie diese Instanz zu installieren, zu entwickeln, und testen Sie das Plugin. Die normale Instanz kann für andere alltägliche Entwicklungen verwendet werden.

Sie können download an older version of ReSharper here (e.g. 2016.1.2), und klicken Sie im Installationsprogramm auf Optionen und geben Sie den Namen einer benutzerdefinierten Instanz, z. "Plugins". Erstellen Sie dann eine neue Verknüpfung zu Visual Studio, und legen Sie die Befehlszeile zu "devenv.exe/rootSuffix Plugins" fest (oder wie auch immer Sie die benutzerdefinierte Struktur nannten).

2

R # und SDK müssen entweder verschiedene Hauptversionen oder binärkompatible Versionen sein. Leider haben sich innerhalb des EAP die internen APIs im Test-Runner geändert, so dass R # und SDK aus verschiedenen EAPs nicht kompatibel sind.

Verwandte Themen