【问题标题】:asp.net mvc and HttpContext.Currentasp.net mvc 和 HttpContext.Current
【发布时间】:2023-03-09 10:04:01
【问题描述】:

我试图通过避免使用任何 HttpContext.Current 并使用每个控制器上提供的更容易模拟的 HttpContextBase 实例来维护我的 asp.net mvc5 应用程序的单元测试能力。

问题是我 需要 访问控制器外部的 HttpContextBase 并且不确定这里的最佳实践。有什么建议吗?

我需要这个的原因是我想将当前用户的 TimeZone 缓存在 HttpContext.Items 集合中,以便在自定义 automapper 函数的配置类中的控制器外部使用,该函数将我的域模型转换为视图模式。

【问题讨论】:

  • 请详细说明为什么需要这样做。这可能会避免遇到XY problem
  • 控制器外在哪里?

标签: c# asp.net-mvc unit-testing


【解决方案1】:

我使用 Daniel Cazzulino 创建的 Moq - 你可以在 nuget 上找到它。

然后,您可以在单元测试中轻松地模拟 httpContext - 无需在 MVC 项目中跳过障碍,从而让您可以愉快地使用 HttpContext.Current。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-06-25
    • 1970-01-01
    • 2017-02-03
    • 1970-01-01
    • 2012-07-06
    • 2020-08-21
    • 1970-01-01
    相关资源
    最近更新 更多