1

作成した複合ウィジェットをテストする gwt-test-utils テストを作成したいと考えています。開始するのにしばらく時間を費やした後、JUnit テストがついに開始されます。ウィジェットを初期化し、プライベート フィールドにアクセスすることさえできます。

ただし、ここにショーストッパーがあります。私のウィジェットは、拡張する別のウィジェットを使用していますComplexPanelinsertChildそのメソッドを呼び出そうとするたびに、次の例外が発生します

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(ネイティブ メソッド) com.google.gwt.user.client.impl.DOMImplMobileSafari.insertChild(DOMImplMobileSafari.java:26) at com.google.gwt.user .client.DOM.insertChild(DOM.java:958) at com.google.gwt.user.client.ui.ComplexPanel.insert(ComplexPanel.java:203) [...]

gwt-test-utils の Patcher API について読み、そのソース コードを調べました。DOMImplStandard伸びDOMImplます。( )DOMImplの PatchMethod を持つPatchClass があります。しかし、何らかの理由でパッチが機能していないようです。私は自分のパッチを書いてみましたが、その結果insertChildDOMImplUserPatcherDOMImpl.insertChild

com.googlecode.gwt.test.exceptions.GwtTestPatchException: 同じターゲットに対して 2 つの @PatchMethod メソッドが検出されました...

その後、パッチを書きましたがDOMImplMobileSafari.insertChild、うまくいきました!DOMImplUserPatcherしかし、それを適用するためだけにコピーしたくありませんがDOMImplMobileSafari、それでも何かが期待どおりに機能していないと思います。

私が間違っていることは何ですか?

4

0 に答える 0