Wenn Sie einen WCF-Dienst über eine Konsolenanwendung, asp.net-App, wpf/winform-App aufrufen, benötigen Sie eine app.config- oder web.config-Datei für die WCF-Dienstendpunktinformationen . Aber von FitNesse, rufe ich ein Fixture an, das eine .dll (Klassenbibliothek) ist und dieses Fixture meinen WCF-Dienst aufruft. Es kann den Dienst nicht aufrufen, weil ich die benötigten Endpunktinformationen nicht angeben kann, da DLLs keine app.config-Dateien enthalten können. Irgendwelche Ideen, wie man einen WCF-Service von FitNesse aufruft.So rufen Sie einen WCF-Dienst von FitNesse auf
Antwort
Ich musste meine app.config-Datei im dotnet-Verzeichnis von FitNesse platzieren. Ich musste auch einen Pfad zu dieser Konfigurationsdatei auf meiner FitNesse-Seite hinzufügen.
Pfad C: \ fitnesse20090214 \ FitNesse \ dotnet \ app.config
Alles, was Sie mit einer Konfiguration in WCF tun können, kann auch programmgesteuert erfolgen. Können Sie die Endpunkte im Code erstellen und dann kompilieren?
Ein ähnlicher Ansatz, den ich gearbeitet habe, ist eine Kopie der app.config für die testrunner zu machen.
Also mache ich eine Kopie von app.config als FitServer.exe.config (und TestRunner.exe.config) als Post-Build-Schritt in meinem Fixture-Projekt.
Wie im vorherigen Post angegeben, muss sich die Konfigurationsdatei im selben Verzeichnis wie der Runner befinden.
Dies funktionierte mit der Version 1.6 der fitnesse .Net Läufer sowie der neuesten Version 20090214.