可以同时执行 WebForms 和 MVC 的最佳模拟框架?
Posted
技术标签:
【中文标题】可以同时执行 WebForms 和 MVC 的最佳模拟框架?【英文标题】:Best mock framework that can do both WebForms and MVC? 【发布时间】:2010-09-05 19:45:08 【问题描述】:我正在进入更多的 TDD 工作流程,并且混合了 MVC 和 asp.net Web 表单应用程序。
建议 MVC 起订量。
我已经将 Rhino 用于 Web 表单。
有没有人有一个最佳实践来为两者都模拟 1 个框架?
【问题讨论】:
【参考方案1】:这是一个有点傻的问题,但我更喜欢 Rhino Mocks,因为它代表了对 mocks vs. stubs 更完整的理解。
在确定价格之前深入了解 TypeMock。
此外,没有推荐的 ASP.NET MVC 模拟框架。
最后——我建议你在你的项目中(甚至在你的团队中)坚持一个模拟框架——差异虽然不是很大,但可能会导致在这样的“磨砺摇滚”上毫无根据的混乱决定。我的意思是这个决定不应该是一个漫长的决定,只需选择有效的方法并继续创造价值。
【讨论】:
【参考方案2】:Rhino 的最新版本包含了 MoQ 所拥有的大部分甜蜜甜蜜的 3.5 爱。我是 MoQ 的粉丝,所以这就是我正在使用的。但我也有 Rhino,以防它做 MoQ 没有做的事情。
TL;DR: MoQ it baby。
【讨论】:
【参考方案3】:TypeMock 非常强大。当我需要对一个并非为可测试性而设计的 Web 表单应用程序进行单元测试时,TypeMock 救了我的命。
但是当我花时间选择一种架构模式 (MVC) 或设计一种允许 Mockability 的架构模式(你知道,公共虚拟化状态更改方法)时,我使用 Moq。它使用起来很简单,教别人也很简单。
TypeMock 的记录回放语法仍然让我感到困惑,但它在紧张的发布计划中为我节省了大量时间。 Moq 的 API 几乎是不言自明的,考虑到模拟库的历史,这是一项了不起的成就。
【讨论】:
【参考方案4】:我会继续使用我最喜欢的框架。我认为我没有任何理由为 Web 表单选择一个框架而为 MVC 选择另一个框架。一个更大的问题是我将如何对我的 Web 表单页面进行单元测试,因为将页面与 HttpRequest 堆栈的其余部分分开是出了名的困难。
我最喜欢的是起订量。我也使用过 TypeMock。它需要花钱,但它真的很强大——它可以让你模拟具体的类和构造函数,所以你可以模拟 HttpContext 或 HttpRequest 之类的东西。
【讨论】:
【参考方案5】:调查 Ivonna 伪造 HTTPContext 和传统网络表单。
http://sm-art.biz/Ivonna.aspx
【讨论】:
以上是关于可以同时执行 WebForms 和 MVC 的最佳模拟框架?的主要内容,如果未能解决你的问题,请参考以下文章
ViewBag 未在混合 Webforms/MVC 项目中声明