【问题标题】:GWT testing without GWTTestCase and the DOM没有 GWTTestCase 和 DOM 的 GWT 测试
【发布时间】:2009-08-24 22:07:11
【问题描述】:

我可以在没有 GWTTestCase 的情况下测试我的客户端 GWT 代码吗?我在某处听说过(我认为这是 Google IO 2009 会议之一),他们成功地在 JVM 中使用假 DOM 测试了他们的代码,而不是在带有 DOM 的 Javascript 中。那将是辉煌的。这样做的目的是提高速度(数量级)。有人知道如何做到这一点吗?我关于堆栈溢出的第一个问题,希望我做对了。 谢谢。 欧根。

【问题讨论】:

    标签: testing gwt


    【解决方案1】:

    您应该查看 Ray Ryan 的 Google I/O session

    基本上,您可以使用模型/视图/演示者模式并将所有 DOM 访问代码抽象到“视图”部分。通过这样做,您可以创建一个模拟视图并使用标准的 junit 测试来测试模型/演示器,通过 jvm 运行,而无需浏览器或 DOM

    【讨论】:

    • View 实现中仍有一些代码需要测试。例如,用户输入值,视图稍后将该值提供给演示者 - 相同的值被推送/拉到演示者。
    【解决方案2】:

    不是您想要的,但您应该使用模型-视图-演示者模式。任何需要 DOM 的代码都应该放在您的 View 类中,并且应该尽可能地笨拙。您的 Presenter 类中有复杂的逻辑。然后,您可以在不需要 GWTTestCase 的情况下测试您的演示者类。

    例如,一个视图可能有这样的方法:

    void setResponseText(String text);
    

    您的演示者测试用例可能类似于:

    void testSayHi() {
        expect(mockView.setResponseText("hi there"));
        replayMocks();
        presenter.sayHi();
        verifyMocks();
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-01-05
      • 2011-10-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多