Пересмешивание ASPNET MVC DependencyResolver с помощью насмешки Rhino - PullRequest
2 голосов
/ 06 июня 2019

Во время написания модульного теста для одной из бизнес-логики (метода) не удается смоделировать ASP NET MVC DependencyResolver из-за того, что для этого он становится нулевым. Ниже находится строка кода

DependencyResolver.Current.GetService(typeof(ITestDetails)) as ITestDetails;

Каким-то образом хотел издеваться над этой строкой.

1 Ответ

1 голос
/ 06 июня 2019

Макет распознавателя и его ожидаемое поведение

//create the new resolver that will be used to replace the current one
IDependencyResolver resolver = MockRepository.GenerateMock<IDependencyResolver>();
//mock expected behavior
var testdetails = MockRepository.GenerateMock<ITestDetails>();
resolver.Stub(_ => _.GetService(typeof(ITestDetails))).Returns(testDetails);

и установите ток на макет.

//assign the mocked resolver.
DependencyResolver.SetResolver(resolver);

Так что теперь, когда

DependencyResolver.Current.GetService(typeof(ITestDetails))

вызывается, он предоставляет смоделированный распознаватель и ведет себя как ожидалось при модульном тестировании

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...