代码之家  ›  专栏  ›  技术社区  ›  kbrimington

HTTPContext最完整的模拟框架是什么

  •  9
  • kbrimington  · 技术社区  · 15 年前

    我正在寻找尽可能全面的ASP.NET模拟替换和包装。 HttpContext 在我的应用程序中。全面的模拟替换可以大大提高我的ASP.NET Web应用程序的可测试性,而无需将每个应用程序迁移到更具可测试性的框架,如MVC。

    我最感兴趣的功能是 请求上下文 包装和模拟框架包括:

    • 串行会话存储(例如, .Session )
    • 序列化应用程序范围的存储(例如, .Application )
    • 每个请求项存储(例如, .Items )
    • httpRequest数据,如referers、request-uri、server变量、post数据等。
    • htt响应数据,如状态代码和内容。
    • 本地文件分辨率(例如 Server.MapPath )
    • 用于应用程序相对URL路径解析的virtualpathutility,它依赖于ASP.NET运行时。
    • 身份和主体(例如, .User )用于验证身份验证/授权规则。
    • 这个 AllErrors 中测试错误解决方案的集合 HttpModule S和 Global.asax .

    我考虑过编写自己的接口、包装器和模拟;但是,我相信这样的东西已经存在了。对于第一个计时器来说,模拟框架的多样性有点让人难以接受。

    最全面的是什么 请求上下文 你会推荐包装和仿制品吗?

    2 回复  |  直到 15 年前
        1
  •  2
  •   Michael Baldry    15 年前

    我的公司在为所有HTTP对象(ihtprequest、ihtpresponse等)创建接口方面做得很好。

    它有点代表性,但基本上需要接口上的所有方法和属性 然后为每个对象创建一个具体的类型,该类型将实数类型作为构造函数参数,并将所有方法和属性传递给实数对象。

    然后你可以很容易地使用犀牛模型或任何东西测试一切。

        2
  •  1
  •   Steve Michelotti    15 年前

    退房 moq 框架。这是MVC团队使用的模拟框架,许多人(包括我自己)认为它具有最低的进入障碍。还可以查看中的模拟助手 MvcContrib 项目。

    推荐文章