2017-07-19 1 views
1

Ich war eine erbliche Testautomatisierung Projekt Reinigung und fixiert in einem SpecFlow Feature-Datei, einige Rechtschreibfehler in Szenario-Namen, dann erhalten diese Fehler gestartet:SpecFlow - Erzeugungs-Fehler: Schnittstelle kann nicht aufgelöst werden

CS1029 
#error Generation error: Interface cannot be resolved: TechTalk.SpecFlow.Generator.UnitTestProvider.IUnitTestGeneratorProvider('custom') 

Es gibt kein Kundeneinheitstestanbieter.

Dinge, die ich habe versucht:

nun alle meine Funktion Dateien, die Fehler angezeigt werden, nicht nur die Ich habe Rechtschreibfehler behoben. Ich benutze VS2015. Irgendwelche Ideen, was diesen Fehler verursachen könnte?

+0

Haben Sie benutzerdefinierte Plugins? Könnten Sie Ihren vollständigen specflow-Abschnitt der app.config veröffentlichen? –

+0

Und welche Version von SpecFlow + verwenden Sie? –

+0

@AndreasWillich, Per unten, war mit 2.2, kehrte zurück zu 2.1 und das Problem ging weg. Der app.config Abschnitt sieht wie folgt aus: <- Weitere Details zu SpecFlow Konfiguration! Optionen siehe http://go.specflow.org/doc-config ->

Antwort

0

Stellen Sie in der app.config sicher, dass der Name des Komponententestanbieters, den Sie verwenden, einem tatsächlichen Testframework entspricht. Bsp:

Mein Verdacht ist, dass die Tests mit einer gültigen app.config generiert wurden, aber die app.config ist nicht mehr gültig. Wenn Sie die Feature-Datei (en) geändert haben, hat sie versucht, die Tests mithilfe eines ungültigen Namens des Test-Framework-Providers neu zu generieren, was zu der angezeigten Fehlermeldung führte.

+0

Es war MsTest.2010. Ich änderte es zu dem allgemeineren MsTest, der das Problem nicht aufräumte und seither zurück zu MsTest.2010 geändert hat. Außerdem hatte ich das Projekt erst vor ein paar Stunden wieder aufgebaut und dann wurde es gut gebaut. Ich habe gesehen, dass dieser Fehler ein anderes Mal mit einem ungültigen Tag aufgetreten ist. Durch das Entfernen des Tags wurde das Problem behoben. Aber es gibt keine Tags in diesem Fall. –

1

Dies scheint ein Problem mit der Beschädigung von SpecFlow 2.2-Feature-Dateien zu sein.

Mit 2.2 löste das Löschen und erneute Erstellen der Feature-Dateien das Problem nicht. Zurück zu 2.1 tat.

Nach dem Zurückkehren zu 2.1 traten die Fehler noch auf, bis ich die Feature-Datei löschte und dann neu erstellte. Ich hatte 8 Feature-Dateien, die alle den Fehler melden. Nach dem Löschen und Wiederherstellen jedes einzelnen gingen alle 8 Fehler verloren.

Verwandte Themen