GWTTestCase 过时了吗?有更好的选择吗?

Is GWTTestCase obsolete? Are there better alternatives?

正在尝试了解 GWTTestCase suite/methodology 的状态。

我读过一些东西说 GWTTestCase 有点过时了。如果这是真的,那么客户端测试的首选方法是什么?

还有,虽然我自己没有试过,但是这里有人说他试过了,而且要运行一次要几秒、几十秒;这是真的? (即,使用 GWTTestCase 进行测试通常需要花费数十秒 运行,还是更可能是我们这边的配置错误等)

您是否使用任何其他适合您的 GWT 客户端测试方法?

问题是任何 GWT 代码都必须在浏览器中编译为 运行。如果您的代码只是 Java,您可以在典型的 JUnit 或 TestNG 测试中 运行,它会像您期望的那样立即 运行。

但考虑到 JUnit 测试必须编译为 .class,并且 JVM 中的 运行 来自测试 运行ner main() - 尽管您不需要通常不会直接调用它,只需从您的构建工具或 IDE 启动它。同样,你的GWT/Java代码必须编译成Java脚本,然后在某种浏览器中运行。

编译需要时间 - 对于最小测试,运行只在一个浏览器中(即一个排列),这在大多数机器上至少需要 10 秒(主机页面)为 GWTTestCase 允许 JVM 告诉它哪个测试 运行,并获取结果或堆栈跟踪或超时返回)。然后加上你的项目的测试组件需要多长时间才能编译,你应该很清楚这个测试用例需要多长时间。

您可以采取一些措施来最大程度地缩短所用时间,但如果您需要在浏览器中 运行,10 秒几乎是最短的时间。

  • 使用测试套件 - 这些告诉编译器继续并制作一个更大的模块,其中 运行 所有测试。缺点:如果你对你的模块做了任何巧妙的事情,将它们合并成一个可能会产生其他后果。
  • 使用 JVM 测试 - 如果您只是测试演示者,并且演示者是纯粹的 Java(带有模拟视频),那么不要乱用 运行ning 中的代码浏览器只是为了测试它的逻辑。如果您担心差异,请考虑测试的目的是确保编译器正常工作,还是练习逻辑。