¿Debo encadenar pruebas de GUI o iniciar el applet de nuevo cada vez?

En el proyecto de código abierto JChemPaint, por ejemplo, la GUI se prueba (utilizando el marco FEST) recopilando alrededor de una docena de pruebas individuales, cada una en unos pocos archivos Java. El applet se inicia solo una vez por archivo y se realizan varias pruebas independientes en una cadena.

Me gustaría saber si esto es una buena práctica. Por supuesto, poner en marcha cada vez costaría tiempo. Sin embargo, puedo ver problemas con los efectos secundarios de acciones anteriores y posibles excepciones, pero no soy un experto. Entonces, ¿es una buena práctica poner varias pruebas en un inicio de applet?

(También estoy buscando una colección de mejores prácticas para las pruebas de GUI, pero no puedo plantear esa pregunta, de todos modos, las sugerencias son bienvenidas).

preguntado el 12 de junio de 12 a las 18:06

"Sin embargo, puedo ver problemas con los efectos secundarios de acciones anteriores y posibles excepciones" Bueno, si hacer esa combinación de cosas con éxito es lo que estás probando, tiene mucho sentido. -

entonces, todo es tan bueno como lo son los documentos -

1 Respuestas

Me preocupa la incómoda división entre estos dos. contenedores de nivel superior:

org.openscience.jchempaint.application.JChemPaint org.openscience.jchempaint.applet.JChemPaintAbstractApplet.

Después de una lectura superficial, me resisto a ser crítico; pero refactorizar los contenidos podría limitar la cantidad de pruebas duplicadas requeridas. En este muy simplificado ejemplo, la inicialización común se limita a la initContainer() método. En comparación, JChemPaint es considerablemente más complejo y ofrece una serie de parámetros de applet, cuya transferencia correcta debe probarse.

Tal refactorización puede estar en curso. El appletests parecen datar de un período anterior de desarrollo, mientras que los más nuevos jchempaint.src.test los artefactos parecen reflejar una arquitectura de prueba más reciente basada en anotaciones.

Respondido el 12 de junio de 12 a las 20:06

Gracias por tu tiempo sumergiéndote en esto. Lo que aún no me queda claro es si realmente se necesita FEST para esto. La mayoría de los errores que encontré están en la lógica del subprograma, no en la GUI (Swing, etc.) en sí; además, cualquier cambio en la apariencia (p. ej., mover una acción de botón al menú) de la GUI interrumpirá las pruebas FEST, y no me gustan los procedimientos que generan más trabajo del que valen. - rwst

Creo que veo lo que estás diciendo. Idealmente, un botón se probaría en el contexto del contenedor que lo contiene, no como una función del contenedor de nivel superior que se usa. Por el contrario, un applet solo debería necesitar probar que sus parámetros llegan intactos. - basurero

Intentaré usar awt.Robot para las pruebas, ya que tuve algunos problemas con FEST en Linux. - rwst

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.