Ich habe eine App, die einen WCF-Dienst verwendet. Jetzt möchte ich Unit-Tests zur App hinzufügen.Einfache Möglichkeit, einen WCF-Dienst nachzuahmen?
In einigen Fällen muss ich den WCF-Dienst verspotten, da das gewünschte Verhalten vom Dienst manchmal schwierig ist (z. B. Service löst spezielle Ausnahmen aus).
Ich könnte noch eine weitere Schnittstelle zum Client hinzufügen, aber das scheint ein bisschen albern, da die Client-Aufrufe bereits eine Schnittstelle verwenden.
Gibt es eine einfache Möglichkeit, einen WCF-Dienst nachzuahmen? Einfacher als eine andere Schnittstellenschicht zu erstellen und jeden einzelnen WCF-Aufruf umzuleiten?
Edit: Die meisten Antworten scheinen nicht viel über WCF-Dienst zu wissen, verwendet wird, so einige Klarstellung:
Um einen WCF-Dienst von einem Ansichtsmodell zu verwenden, ich habe die Verbindung, so etwas verwalten:
ChannelFactory<IMyWcfService> channelFactory = new ChannelFactory<IMyWcfService>("");
IMyWcfService proxy = channelFactory.CreateChannel();
proxy.CallMyStuff();
proxy.Close();
Ich kann nicht einfach das ViewModel den Proxy an die WCF übergeben, da die Verbindung für jede Transaktion geöffnet und geschlossen werden muss. Aus diesem Grund würde die Verwendung von RhinoMock/NMock nicht funktionieren, da sie ein ViewModel benötigen, das den Proxy als Parameter erhält, was bei Verwendung von WCF nicht möglich ist.
+1 auf die Schnittstellen direkt verspotten. –
bitte ein Beispiel angeben – PositiveGuy
Was ist die ChannelFactory? – PositiveGuy