¿Cómo se prueba el código GWT?

Soy nuevo en el concepto mismo de Google Web Toolkit (GWT) y, por lo que puedo decir, es una API de Java y un conjunto de herramientas que le permite codificar su código del lado del cliente en Java, y en algún momento (como un parte de la compilación o dinámicamente a medida que entra HttpRequests) genera JS del lado del cliente a partir de su código Java (si estoy equivocado en algo de esto, ¡corríjame! ).

Suponiendo que soy más o menos correcto, me pregunto cómo lo prueba. ¿Escribe pruebas JUnit para el código Java, o escribe pruebas JSUnit para el JavaScript resultante / generado? Y si usa JSUnit, ¿cómo sabe los nombres y el funcionamiento interno de las funciones generadas, ya que GWT optimiza y minimiza todo lo que genera? ¡Gracias por adelantado!

Respuesta 1

En primer lugar, tiene razón: GWT genera código Javascript desde el código Java del lado del cliente. Sin embargo, en aras de la velocidad, probamos todo lo que podemos mientras todavía está en Java.

Escribes pruebas estándar de JUnit que extiendes de JUnit TestCaseo GWTTestCase.

La principal diferencia entre los dos es la siguiente: se usa GWTTestCasepara cada clase que usa cualquier tipo de código javascript nativo (los widgets y elementos gráficos son así). El compilador usará un navegador "sin cabeza" para probarlos como código javascript y por eso estas pruebas son muy lentas en comparación con el JUnit estándar TestCase.

Es por eso que usa TestCase estándar para todo lo demás (es mucho más rápido ya que esto se ejecuta como bytecode) y es por eso que es una buena idea usar el patrón MVP para separar su vista (código con el que puede probar GWTTestCase) del resto de su programa (código que puede probar con TestCase).

Aquí y aquí hay dos buenos artículos sobre cómo funcionan las pruebas de unidades GWT y qué patrones debe usar para facilitar su trabajo.

Respuesta: 2

Suponiendo que tengo un método para llamar al sitio en Java. ¿Cuál es el bytecode jvm equivalente (aparte de la llamada que se traduce a invokevirtual / static, etc.)? Estoy más interesado en los comandos que se cargan ...

Tengo un objeto Abrió una FileConnection. Ahora, hice la referencia del objeto nulo. Luego se ejecuta GC [Garbage-Collecter]. Entonces, GC liberará el objeto y también cerrará la FileConnection en poder de Object. ...

Tengo un programa que crea múltiples archivos de texto de triples rdf. Necesito comparar los triples y hacerlo rápido, ¿cuál es la mejor manera de hacerlo? Pensé en poner los triples en una matriz y ...

Necesito crear una clase Java que cree una copia de seguridad de mi base de datos. Mi problema es que no sé cómo hacerlo usando una base de datos SQLite. ¿Alguien puede mostrarme cómo?