asp.net-mvc - 具有 PerWebRequest LifeStyle 依赖项的单元测试 Controller

标签 asp.net-mvc httpcontext mvccontrib-testhelper

我正在尝试为依赖于生活方式为“PerWebRequest”的类型的 Controller 编写单元测试。

CaSTLe 抛出以下异常:

System.InvalidOperationException: HttpContext.Current is null. PerWebRequestLifestyle can only be used in ASP.Net.

我可以以某种方式模拟 HttpContext.Current 属性来解决这个问题吗?

我尝试使用 MVCContrib 的 TestControllerBuilder 来初始化这个 Controller ,但是没有效果。

  SymptomTopicController controller = new SymptomTopicController();
        controller.WorkOrderFulfillment = workOrderFulfillment;

        TestControllerBuilder controllerBuilder = new TestControllerBuilder();
        controllerBuilder.InitializeController(controller);

最佳答案

You're doing it wrong

抽象依赖,不要在测试中使用容器。

关于asp.net-mvc - 具有 PerWebRequest LifeStyle 依赖项的单元测试 Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4598594/

相关文章:

html - 在 asp.net mvc 中添加或激活代码 html

c# - 这是获取 HttpContext 请求正文的安全方法吗

c# - 在验证上下文中使用 HttpRequest

c# - HttpContext.Response.Body.Position = 0 - "Specified method is not supported"错误

css - 当输入有文本时,bootstrap 改变它的颜色

javascript - 文本区域中的新行字符增加了 C# 中的文本长度

asp.net - 在 webgrid asp mvc 中使用图像代替文本

asp.net-mvc - 使用 MvcContrib TestHelper 断言不应映射入站路由

mvccontrib - 无论如何,要使用 nuget 安装 mvccontrib.testhelper

asp.net-mvc - 使用 MvcContrib.TestHelper 的 ShouldMapTo() 通用扩展方法需要帮助解决错误