2012-06-28 60 views
1

我刚刚接触Google Web Toolkit(GWT)的概念,并且据我所知可以告诉它一个Java API和工具集,它允许您使用Java对一些客户端代码进行编码,点(作为构建的一部分或者像HttpRequests一样动态地进行),它会从您的Java代码生成客户端JS(如果我错了,请纠正我!)。你如何测试GWT代码?

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

回答

1

首先,你是正确的:GWT从客户端Java代码生成Javascript代码。然而,为了速度的缘故,我们在Java中仍然可以测试一切。

您可以编写标准的JUnit测试,您可以从JUnit的TestCaseGWTTestCase扩展。

两者之间的主要区别如下: 您使用GWTTestCase为使用任何类型的原生JavaScript代码(widgets和图形元素都是这样),每类。编译器将使用“无头”浏览器来测试这些JavaScript代码,因为这些测试与标准JUnit TestCase相比非常慢。

这就是为什么你使用标准的TestCase的一切(它的速度更快,因为这运行的字节码),这就是为什么它的使用MVP模式从其余部分分离视图(代码你GWTTestCase测试)是一个好主意你的程序(你可以用TestCase测试代码)。

Herehere是关于GWT单元测试如何工作的两篇很好的文章,以及您应该使用哪种模式使工作更轻松。

1

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

基本上,你使用JUnit一路下滑:纯Java时,这是可能的,否则GWTTestCase(在Java中-HTMLUnit-或真正的浏览器的仿真浏览器中运行,或者在DevMode中编译或者编译为JS -aka prod模式 - ),最后使用Selenium/WebDriver进行集成/验收测试。