Я пишу пример модульного теста для метода ac # с помощью фреймворка Rhinomocks.Внутри моего фактического метода я получаю доступ к свойству Scheme из свойства Uri , представленного в пространстве имен System.Net.Http.HttpRequestMessage
.
Свойство схемы доступно как _requestContext.RequestMessage.RequestUri.Scheme
в фактическом методе.
Когда я запускаю мой модульный тестовый пример, он падает внутри моего фактического метода реализации, когда он пытается получить доступ / прочитать схемуproperty.
Чтобы смоделировать свойства URI и Scheme, я попробовал, как показано ниже, но он не работает должным образом.
var uri = new Uri("http://tempuri.org/");
//requestContext.Expect(r => r.RequestMessage.RequestUri).Return(uri).Repeat.Any();
requestContext.Stub(x => x.RequestMessage.RequestUri).Return(uri);
requestContext.Stub(x => x.RequestMessage.RequestUri.Scheme).Return("http");//this is the value the scheme should return when it is accessed inside the actual method
Как правильно создать заглушку/ mock для свойства Scheme в Uri.
Примечание. Я имею в виду свойство Uri в пространстве имен System.Net.Http.HttpRequestMessage.