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);
Abstract the dependency and don't use container in your tests.
Have you seen this question: Mock HttpContext.Current in Test Init Method ?
精彩评论