gpt4 book ai didi

asp.net - ASP.NET MVC 中的单元测试如何比 Web 窗体更好?

转载 作者:行者123 更新时间:2023-12-03 15:17:10 25 4
gpt4 key购买 nike

我刚刚开始学习 ASP.NET MVC。当将 ASP.NET MVC 与 Web 窗体进行比较时,MVC 的主要优势之一总是被告知可以更好地支持单元测试。我能很好地解释它如何获得更好的支持吗?

编辑 :
如果可能,请在两者中提供示例。

最佳答案

Asp.Net MVC 具有更好的单元测试支持的一个主要原因是 - 整个架构构建为使用 HttpContextBase , HttpRequestBaseHttpResponseBase .

Asp.Net webforms 依赖于 HttpContext.Current ,这是一个您无法控制的单例 - 它作为 HttpApplication 的一部分设置并传递到您的页面执行请求。大多数情况下,为了让页面正确执行,需要在真实的HttpContext中执行。 .由于 HttpContext 的许多属性是不可设置的(如请求和响应),因此构建发送到页面对象的虚假请求极其困难。

这使得单元测试 webforms 页面成为一场噩梦,因为它会将您的所有测试与需要各种上下文设置结合起来。

与 ASP.Net MVC 相比,您可以在其中模拟 HttpContext!现在,您的代码甚至不需要 Web 服务器来为其提供上下文,您只需设置所需的位,然后将模拟的上下文交给您的方法即可。

关于asp.net - ASP.NET MVC 中的单元测试如何比 Web 窗体更好?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3259453/

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