Как насчет внедрения вспомогательного прокси в конструктор (обратите внимание на введение абстракции):
private readonly IServiceProxy<TService> _proxyHelper;
protected ServiceProxyController(IServiceProxy<TService> proxyHelper)
{
_proxyHelper = proxyHelper;
}
и контроллер:
public MyController(IServiceProxy<TService> proxyHelper)
: base(proxyHelper)
{
}
Таким образом, в вашем модульном тесте при создании экземпляра контроллера вы можете ввести поддельный экземпляр интерфейса IServiceProxy<TService>
.
Затем вам нужно будет сконфигурировать свою инфраструктуру DI для вставки правильной реализации в конструктор контроллера, который обернет фактический ChannelFactory
.