Si está buscando probar los widgets GWT de forma aislada, no hay muchas opciones. Puede utilizar un GWTTestCase para crear instancias de sus widgets y probarlo a través de su API, que es lo que hace Google para el GWT widgets de sí mismos: Source for RadioButtonTest
Sin embargo, el mecanismo de disparo por eventos que no funciona en GWTTestCases, lo que significa que puede Haga cosas como hacer clic en un botón de programación y espere que se invoque el método de devolución de llamada onClick() en un oyente. También es difícil, si no imposible, llegar al DOM subyacente, por lo que puede no ser la mejor herramienta para probar código de emisión de HTML de bajo nivel.
Parece que está siguiendo todos los pasos correctos; El artículo de Rob proporciona una excelente descripción de cómo escribir código comprobable usando el patrón de diseño Model-View-Presenter (MVP). Mientras más lógica mantenga fuera de la capa de vista, mejor. Cuando eso no sea posible, use una herramienta como Selenium para crear pruebas enfocadas del comportamiento de la IU dinámica.
Seguí una estrategia similar - MVP con código mínimo en los widgets. En algunos casos, escribí un código que ajustaría la clase Grid, así que pude crear una instancia de mi componente en un GWTTestCase, pasarle una Grid, invocar algunos métodos en mi componente y verificar el estado de la Grid. Escribí un artículo para Better Software sobre Test-First GWT, que puedes leer on my blog.
Si está buscando probar el código que utiliza clases GWT que no son UI (como codificación URL o Diccionarios), tendrá que usar GWTTestCase, o seguir estrategias de ajuste similares hasta que el código sea demasiado simple para romper . Luego use una prueba de integración con una herramienta como Selenium, o unas pocas GWTTestCases que solo prueban que está usando la biblioteca correctamente, como dice J.B. Rainsberger, "¡No pruebe el marco!"
Solo mis 2 centavos sobre una advertencia necesaria para ejecutar algunas de mis pruebas GWT JUnit que usaban JMock en Eclipse: Necesitaba agregar gwt-dev.jar a la ruta de clases de algunas clases de prueba JUnit específicas que usan JMock; antes de hacerlo, dichas clases tenían este error: java.lang.NoClassDefFoundError: com/google/gwt/core/shared/GWTBridge – cellepo