首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MVP vs MVP2 -在MVP2中运行测试的最佳实践

MVP vs MVP2 -在MVP2中运行测试的最佳实践
EN

Stack Overflow用户
提问于 2012-02-27 22:30:46
回答 1查看 247关注 0票数 1

在MVP中,视图为小部件的接口提供了getter方法--比如hasClickHandler和aso。-以便演示者可以访问这些ClickHandlers,以便添加侦听器和设置值。

这使得视图变得非常愚蠢。

如果你想测试一个mvp presenter,你必须模拟视图,你必须为按钮创建模拟,以便模拟点击按钮。

另一方面,在MVP2中,视图知道展示者,展示者提供像onButtonClick和视图添加ui处理程序这样的方法。这使得视图能够识别演示者,但我认为这更容易测试。

那么MVP和MVP2的优缺点是什么呢?

为了创建好的视图模拟,真的有可能为每个小部件编写模拟吗?

与MVC相比,MVP的一个好处是,您知道Presenter、View和Model中包含了什么。我不太确定MVP2是否会像最有价值球员一样清楚地说明这一点。

你的经验是什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-02-28 08:34:26

我使用了这两种方法,我认为使用MVP2模式有两个优点(通过presenter接口在presenter中查看调用方法):

  • 你不必在你的展示器中为视图的所有HasXXXHandler方法创建这么多内部(匿名)回调函数。
  • 编写单元测试更容易,因为您不必为所有这些HasXXXHandler接口创建模拟,并且使用BDD时,您只需测试presenter的接口函数是否被调用。

另外,MVP只是一个模式,就像任何其他设计模式一样,它只是一个指导原则。没有必要为了坚持最纯粹的实现而让你的生活变得更加困难。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9466700

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档