我有簡單的測試案例:當我啓動測試我得到的Mockito - 嘲諷類與本地方法
public final native TableRowElement insertRow(int index);
:
@Test
public void test() throws Exception{
TableElement table = mock(TableElement.class);
table.insertRow(0);
}
哪裏TableElement是GWT類方法insertRow
定義爲:
java.lang.UnsatisfiedLinkError: com.google.gwt.dom.client.TableElement.insertRow(I)Lcom/google/gwt/dom/client/TableRowElement;
at com.google.gwt.dom.client.TableElement.insertRow(Native Method)
正如我相信與insertRow方法是原生的。有沒有什麼方法或解決方法來模擬Mockito的這種方法?
不幸的是我有超過'TableElement'類無法控制 - 它屬於外部庫。然而,Powermock Mockito API擴展看起來非常有趣,我會檢查出來。 – 2012-04-19 07:56:14
當你包裝別人的東西,然後**你**有控制權。 :-)這是包裝,[適配器](http://en.wikipedia.org/wiki/Adapter_pattern)或[façades](http://en.wikipedia.org/wiki/Facade_pattern)的美妙之處。 – Spoike 2012-04-19 08:23:36
非常感謝您的詳細解答。包裝將起作用,我可能會使用它作爲最後的手段,但對我的口味來說,它太多傾斜和複雜的生產代碼只用於測試目的:(。 – 2012-04-19 08:30:22