Unit Test Controller with PerWebRequest LifeStyle dependency
-
15-10-2019 - |
سؤال
I am trying to write a unit test for a controller that has a dependency on a type whose lifestyle is "PerWebRequest".
Castle throws the following exception:
System.InvalidOperationException: HttpContext.Current is null. PerWebRequestLifestyle can only be used in ASP.Net.
Can I mock the HttpContext.Current property somehow to get around this?
I have tried to use MVCContrib's TestControllerBuilder to initialize this controller but it has no effect.
SymptomTopicController controller = new SymptomTopicController();
controller.WorkOrderFulfillment = workOrderFulfillment;
TestControllerBuilder controllerBuilder = new TestControllerBuilder();
controllerBuilder.InitializeController(controller);
المحلول
Have you seen this question: Mock HttpContext.Current in Test Init Method ?
نصائح أخرى
Abstract the dependency and don't use container in your tests.
لا تنتمي إلى StackOverflow