260 likes | 410 Views
Pruebas con Junit , pruebas asincronas , JSNI GWT Google Web Toolkit Prof. Ing. Esteban Ramírez. Contenido. JUnit - testing framework. JavaScript Native Interface (JSNI). Prácticas. Software Testing.
E N D
Pruebas con Junit, pruebas asincronas, JSNI GWTGoogle Web ToolkitProf. Ing. Esteban Ramírez
Contenido JUnit - testingframework JavaScript Native Interface (JSNI) Prácticas
Software Testing Las pruebas de software, en inglés testing son los procesos que permiten verificar y revelar la calidad de un producto software. Son utilizadas para identificar posibles fallos de implementación, calidad, o usabilidad de un programa de ordenador. Básicamente es una fase en el desarrollo de software consistente en probar las aplicaciones construidas.
JUnit - testingframework JUnites un conjunto de clases (framework) que permite realizar la ejecución de clases Java de manera controlada, para poder evaluar si el funcionamiento de cada uno de los métodos de la clase se comporta como se espera. JUnit es también un medio de controlar las pruebas de regresión, necesarias cuando una parte del código ha sido modificado y se desea ver que el nuevo código cumple con los requerimientos anteriores y que no se ha alterado su funcionalidad después de la nueva modificación. Open Source, disponible en http://www.junit.org
GWT JUnittestingframework GWT permite utilizar JUnit test cases incluso en developmentmode o productionmode
GWT JUnittestingframework • Pasos para crear un caso de prueba en GWT • Crear una clase que extienda de GWTTestCase . • Implementar el metodo: • publicStringgetModuleName() • Implementar los casos de pruebas: • Configurar en el .xml del modulo la siguientelinea:
GWT JUnittestingframework New GWT Java Project: SumaDosNumeros New GWT Module: Suma Package Name: com.cursojava.suma
GWT JUnittestingframework New GWT Java Project: SumaDosNumeros New GWT Module: Suma Package Name: com.cursojava.suma
GWT JUnittestingframework New GWT Java Project: SumaDosNumeros New GWT Module: Suma Package Name: com.cursojava.suma
GWT JUnittestingframework New GWT Java Project: SumaDosNumeros New GWT Module: Suma Package Name: com.cursojava.suma
JavaScript Native Interface (JSNI) • A pesar de que se programe en Java en vez de JavaScript, en ocasiones se necesitará programar directamente en JavaScript, por ejemplo, para hacer referencia a partes del API del navegador que no esté soportado por GWT o para utilizar alguna librería JavaScript no muy común. • JSNI permite ejecutar JavaScript desde Java, como también Java desde JavaScript. Esto hace posible al compilador GWT que pueda mezclar código JavaScript nativo con el código que genera.
JavaScript Native Interface (JSNI) • Código Javascript en comentarios java • Permite utilizar Js dentro de GWT y al revés. • Usa la declaración 'native' que indica a java que ese método se resolverá en tiempo de 'runtime' • Los métodos nativos se puede utilizar en los IDEs sin que marquen el código con error. • El compilador GWT lo detecta y lo copia en el fichero javascript resultante • Finalmente se comprime y obfuscajunto con el resto de código
JavaScript Native Interface (JSNI) A JSNI comment block begins with the exact token /*-{and ends with the exact token }-*/ JSNI methods are called just like any normal Java method. They can be static or instance methods.
JavaScript Native Interface (JSNI) You will not be able to use Java debugging tools inside your JSNI methods when running in development mode. The Java compiler and GWT compiler do not perform any syntax or semantic checks on JSNI code, so any errors in the JavaScript body of the method will not be seen until run time.
JavaScript Native Interface (JSNI) The JavaScript Window Object is the highest level JavaScript object which corresponds to the web browser window. Ej. window.status = “Message in the status bar." The JavaScript Document object is the container for all HTML HEAD and BODY objects associated within the HTML tags of an HTML document. Ej, document.bgColor = "#FFFFFF" $wnd $doc
JavaScript Native Interface (JSNI) Acceso a un atributo JAVA
JavaScript Native Interface (JSNI) Acceso a un método JAVA
JavaScript Native Interface (JSNI) Paramssignature
JavaScript Native Interface (JSNI) Metodinvocation
JavaScript Native Interface (JSNI) • Probar el funcionamiento del proyecto TestJSNI