1

我是Google Web Toolkit (GWT)概念的新手,据我所知,它是一个 Java API 和工具集,允许您使用 Java 编写客户端代码,并且在某些时候(作为构建的一部分或随着 HttpRequests 的到来而动态)它从您的 Java 代码生成客户端 JS (如果我在这方面有任何错误,请纠正我!)。

假设我或多或少是正确的,我想知道你是如何对它进行单元测试的!?您是为 Java 代码编写 JUnit 测试,还是为生成的/生成的 JavaScript 编写 JSUnit 测试?如果你使用 JSUnit,你怎么知道生成函数的名称和内部工作,因为 GWT 优化并缩小了它输出的所有内容?提前致谢!

4

2 回答 2

1

看看这里:https ://developers.google.com/web-toolkit/doc/latest/DevGuideTesting

基本上,您一直在使用 JUnit:如果可能,则使用纯 Java,GWTTestCase否则(在 Java 的模拟浏览器中运行 -HTMLUnit - 或在 DevMode 或编译为 JS 的真实浏览器中运行 -aka prod 模式-),以及最后使用 Selenium/WebDriver 进行集成/验收测试。

于 2012-06-28T16:50:10.977 回答
1

首先,您是对的:GWT 从您的客户端 Java 代码生成 Javascript 代码。然而,为了速度,我们尽可能在 Java 中测试一切。

您编写从 JUnitTestCaseGWTTestCase.

两者之间的主要区别如下:您使用GWTTestCase的每个类都使用任何类型的本机 javascript 代码(小部件和图形元素都是这样的)。编译器将使用“无头”浏览器将这些作为 javascript 代码进行测试,因此与标准 JUnit 相比,这些测试非常慢TestCase

这就是为什么你使用标准 TestCase 来处理其他所有事情(它作为字节码运行要快得多),这就是为什么使用 MVP 模式将你的视图(你可以测试的代码GWTTestCase)与程序的其余部分(你的代码可以用TestCase) 进行测试。

这里这里有两篇关于 GWT 单元测试如何工作以及应该使用哪些模式来简化工作的好文章。

于 2012-06-29T13:34:01.437 回答