gpt4 book ai didi

gwt - MVP 与 MVP2 - 在 JVM 中运行测试的最佳实践

转载 作者:行者123 更新时间:2023-11-28 20:33:05 25 4
gpt4 key购买 nike

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

这使得 View 非常愚蠢。

如果你想测试一个 mvp 演示者,你必须模拟 View ,你必须为按钮创建模拟以模拟按钮上的点击。

另一方面,在 MVP2 中, View 知道演示者,并且演示者提供类似 onButtonClick 的方法,并且 View 添加该 ui 处理程序。这使 View 知道演示者,但我认为这更容易测试。

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

是否真的可以为每个小部件编写模拟以创建良好的 View 模拟?

相对于 MVC,MVP 的一个好处是,您知道 Presenter、View 和 Model 中的内容。我不太确定 MVP2 是否像 MVP 一样清楚。

你的经验是什么?

最佳答案

我使用了这两种方法,我认为使用 MVP2 模式有两个优点(通过演示者界面在演示者中查看调用方法):

  • 您不必在演示者中为 View 的所有 HasXXXHandler 方法创建那么多内部(匿名)回调。
  • 编写单元测试更容易,因为您不必为所有那些 HasXXXHandler 接口(interface)和 BDD 创建模拟你只需要测试是否调用了演示者的接口(interface)函数。

此外,MVP 只是一种模式,与任何其他设计模式一样,它只是一种指导方针。没有必要为了坚持最纯粹的实现而让你的生活变得更加艰难。

关于gwt - MVP 与 MVP2 - 在 JVM 中运行测试的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9466700/

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