Tengo caso de prueba sencilla:Mockito - clases burlones con métodos nativos
@Test
public void test() throws Exception{
TableElement table = mock(TableElement.class);
table.insertRow(0);
}
Dónde TableElement es la clase de GWT con el método insertRow
define como:
public final native TableRowElement insertRow(int index);
Cuando inicio la prueba que estoy recibiendo:
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)
Que, como creo, está relacionado con el método insertRow que es nativo. ¿Hay alguna manera o solución para burlarse de tales métodos con Mockito?
Por desgracia, no tienen control sobre la clase 'TableElement' - pertenece a la biblioteca externa. Sin embargo, la extensión de Powermock Mockito API parece muy interesante, la verificaré. –
Cuando envuelve las cosas de otra persona, ** usted ** tiene el control. :-) Esa es la belleza de los envoltorios, [adaptadores] (http://en.wikipedia.org/wiki/Adapter_pattern), o [fachadas] (http://en.wikipedia.org/wiki/Facade_pattern). – Spoike
Muchas gracias por la respuesta muy buena y detallada. El envoltorio funcionará y puedo usarlo como último recurso, pero para mi gusto es demasiado inclinado y complicando el código de producción solo para fines de prueba :(. –