Я пишу модульные тесты для своего класса обслуживания, но он вызывает внешнюю службу WCF, поэтому нужно смоделировать эти вызовы.Это интерфейс оболочки внешних вызовов службы WCF.
internal interface IKoopServiceRequestHelper
{
Task<ServiceResponseDTO> CreateRequestAsync(ServiceRequestDTO serviceRequestDTO);
Task<TResponse> SendServiceMessagesAsync<TRequest, TResponse>(TRequest request, string messageCode)
where TRequest : RequestDTO
where TResponse : IResponseDTO;
}
Чтобы высмеивать реальную реализацию этого интерфейса, я написал класс-заглушку, как показано ниже.
class StubRequestHelper : IKoopServiceRequestHelper
{
public async Task<ServiceResponseDTO> CreateRequestAsync(ServiceRequestDTO serviceRequestDTO)
{
return await Task.FromResult(new ServiceResponseDTO());
}
}
Но я не могу написатьфиктивная реализация второго метода с именем SendServiceMessagesAsync
, который имеет два параметра универсального типа.