在DOMImplStandard中使用gwt-test-utils的UnsatisfiedLinkError

时间:2014-06-30 15:36:23

标签: java gwt junit gwt-test-utils

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

然而,这是show stop:我的小部件使用另一个扩展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     在com.google.gwt.user.client.impl.DOMImplStandard.insertChild(原生方法)     在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延伸DOMImplDOMImpl有一个PatchClass,其中包含insertChildDOMImplUserPatcher)的PatchMethod。但由于某些原因,修补似乎对我没有用。我尝试为DOMImpl.insertChild编写自己的补丁,结果是

  

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

之后我为DOMImplMobileSafari.insertChild写了一个补丁,确实有效!但是我不想复制DOMImplUserPatcher只是为了将其应用到DOMImplMobileSafari,并且仍然认为某些内容无法正常运行。

知道我做错了吗?

0 个答案:

没有答案