¿Cómo puedo probar una clase que utiliza clientes proxy generada por una referencia de servicio web?Cómo simular servicios web de WCF con Rhino Mocks
Me gustaría burlarme del cliente, pero la interfaz de cliente generada no contiene el método de cierre, que se requiere para terminar apropiadamente el proxy. Si no uso la interfaz, sino una referencia concreta, tengo acceso al método de cierre pero pierdo la capacidad de simular el proxy.
estoy tratando de probar una clase similar a esto:
public class ServiceAdapter : IServiceAdapter, IDisposable
{
// ILoggingServiceClient is generated via a Web Service reference
private readonly ILoggingServiceClient _loggingServiceClient;
public ServiceAdapter() : this(new LoggingServiceClient()) {}
internal ServiceAdapter(ILoggingServiceClient loggingServiceClient)
{
_loggingServiceClient = loggingServiceClient;
}
public void LogSomething(string msg)
{
_loggingServiceClient.LogSomething(msg);
}
public void Dispose()
{
// this doesn't compile, because ILoggingServiceClient doesn't contain Close(),
// yet Close is required to properly terminate the WCF client
_loggingServiceClient.Close();
}
}