1

我想编写一个 gwt-test-utils 测试来测试我创建的复合小部件。在花了一些时间开始之后,JUnit 测试终于开始了,我可以初始化小部件,甚至可以访问私有字段。

然而,这里是显示停止器:我的小部件使用另一个扩展的小部件ComplexPanel。每当我尝试调用它的insertChild方法时,我都会收到以下异常

java.lang.UnsatisfiedLinkError: com.google.gwt.user.client.impl.DOMImplStandard.insertChild(Lcom/google/gwt/user/client/Element;Lcom/google/gwt/user/client/Element;I)V at com.google.gwt.user.client.impl.DOMImplStandard.insertChild(Native Method) 在 com.google.gwt.user.client.impl.DOMImplMobileSafari.insertChild(DOMImplMobileSafari.java:26) 在 com.google.gwt.user .client.DOM.insertChild(DOM.java:958) 在 com.google.gwt.user.client.ui.ComplexPanel.insert(ComplexPanel.java:203) [...]

我阅读了 gwt-test-utils 的 Patcher API 并查看了它的源代码。DOMImplStandard延伸DOMImpl。有一个 PatchClass forDOMImpl和一个 PatchMethod for insertChild( DOMImplUserPatcher)。但由于某种原因,补丁似乎对我不起作用。我尝试编写自己的补丁DOMImpl.insertChild,结果导致

com.googlecode.gwt.test.exceptions.GwtTestPatchException:为同一目标检测到 2 个 @PatchMethod 方法...

之后,我为它写了一个补丁,DOMImplMobileSafari.insertChild并且确实有效!但我不想复制DOMImplUserPatcher只是为了应用它,DOMImplMobileSafari并且仍然认为某些东西对我来说没有按预期工作。

知道我做错了什么吗?

4

0 回答 0