可以同时实现WebForms和MVC的最佳模拟框架?

时间:2020-03-05 18:39:26  来源:igfitidea点击:

我正在研究更多TDD工作流程,并且混合使用MVC和asp.net Web窗体应用程序。

建议最小起订量用于MVC。

我已经将Rhino用于Web窗体。

有没有人有同时为1个框架模拟的最佳实践?

解决方案

回答

我只是继续使用我最喜欢的框架。我认为我没有理由为Web表单选择一个框架,而为MVC选择另一个框架。更大的问题是我将如何对Web表单页面进行单元测试,因为将页面与HttpRequest堆栈的其余部分分开是非常困难的。

我最喜欢的是起订量。我也用过TypeMock。它花钱,但是它确实非常强大,它可以让我们模拟具体的类和构造函数,因此我们可以模拟HttpContext或者HttpRequest之类的东西。

回答

Rhino的最新版本包含MoQ的大部分甜蜜甜蜜的3.5爱情。我是起订量的粉丝,所以这就是我所使用的。但是我也有Rhino,以防MoQ不能做某事。

TL; DR:起订量,宝贝。

回答

TypeMock具有强大的功能。当我需要对不是为可测性设计的Web表单应用程序进行单元测试时,TypeMock挽救了我的生命。

但是,当我花时间选择一种架构模式(MVC)或者设计一种允许可模拟性的模式(我们知道,公共虚拟化状态更改方法)时,我会使用Moq。它是如此简单易用,而且教别人也如此简单。

TypeMock的记录重播语法仍然让我感到困惑,但是它在紧张的发布时间表中为我节省了很多时间。 Moq的API几乎可以自我解释,考虑到模拟库的历史,这是一个了不起的成就。

回答

这是一个愚蠢的问题,但是我更喜欢Rhino Mocks,因为它代表了对模拟与存根的更完整的理解。

承诺价格之前,请深入研究TypeMock。

另外,没有推荐的ASP.NET MVC模拟框架。

最后,我建议我们在项目(甚至在团队中)中使用一个模拟框架,尽管差异不大,但可能会导致混淆,而这种混淆是不必要的,因为这种"打磨"的决定。就是说,我的决定不应是一个漫长的决定,只需选择可行的方法并继续创造价值。

回答

看看Ivonna是否伪造了HTTPContext和传统的Web表单。

http://sm-art.biz/Ivonna.aspx