Um einen WCFService zu testen, muss man diesen sowohl als Client als auch als Host bereitstellen. Um den WCFService auch als Host bereitzustellen ergänzt man im TestProjekt die app.config innerhalb <system.servicemodel> um folgendes Element

1
2
3
4
5
6
<services>
	<service name="MyDataService">
		<endpoint address="http://localhost:8731/Design_Time_Addresses/MyDataService/MyDataService/"
            binding="wsHttpBinding" bindingConfiguration="" contract="MyDataService.Contract.IMyDataService" />
	</service>
</services>

Im TestFixtureSetUp der Testklasse, muss der ServiceHost dann geöffnet werden.

1
2
_host = new ServiceHost(typeof(MyDataService));
_host.Open();

_host ist eine Instanz von ServiceHost aus System.ServiceModel

Im TestFixtureTearDown sollte dieser dann auch wieder geschlossen werden

1
2
3
4
5
try { _host.Close(); }
finally
{
    ((IDisposable)_host).Dispose();
}

„MyDataService“ natürlich anpassen ; )

WCFService testen
Markiert in: