gpt4 book ai didi

asp.net - HttpContext最全的mock框架是什么

转载 作者:行者123 更新时间:2023-12-04 04:32:24 27 4
gpt4 key购买 nike

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

我最感兴趣的 HttpContext 中的一些功能包装器和模拟框架包括:

  • 序列化 session 存储(例如 .Session )。
  • 序列化的应用程序范围的存储(例如,.Application)。
  • 每个请求的项目存储(例如,.Items)。
  • HttpRequest数据,如referrer、请求Uri、服务器变量、post数据等
  • HttpResponse 数据,例如状态代码和内容。
  • 本地文件分辨率(例如 Server.MapPath )
  • VirtualPathUtility 用于应用程序相关的 URL 路径解析,它依赖于 ASP.NET 运行时。
  • 用于验证身份验证/授权规则的身份和主体(例如 .User )。
  • AllErrors用于测试 HttpModule 中的错误解决方案的集合s 和 Global.asax .

  • 我考虑编写自己的接口(interface)、包装器和模拟;但是,我相信这样的肯定已经存在。对于初学者来说,各种各样的模拟框架有点难以接受。

    什么最全面 HttpContext你会推荐的包装和模拟?

    最佳答案

    我的公司在为所有 http 对象(IHttpRequest、IHttpResponse 等)创建接口(interface)方面做得很好。

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

    然后,您可以使用 RhinoMocks 或其他工具轻松测试所有内容。

    关于asp.net - HttpContext最全的mock框架是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3570513/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com