java unit-testing swing

java - Marco de pruebas unitarias para una UI de Swing



unit-testing (3)

La prueba de la interfaz de usuario es difícil. ¿Cuál crees que es el mejor marco de pruebas de unidad para Swing?


¿Cuál crees que es el mejor marco de pruebas de unidad para Swing?

Buena pregunta. No puedo ayudarte con eso. Puedo señalarle artículos sobre las pruebas ui que he leído en el sitio de Misko Hevery

Los consejos de Misko Hevery

  • Me gustaría señalarle el sitio web del gurú de pruebas de Misko Hevery. Habla mucho sobre cómo escribir código que es fácil de probar.
  • Por ejemplo, cuando lee sus excelentes diapositivas "Cómo escribir difícilmente para probar el código" , señala en las diapositivas 45/288 que el costo de corregir errores de renderización es relativamente bajo. Creo que tiene razón al respecto y que no debes preocuparte por tener una cobertura de código del 100% en tu interfaz de usuario.
  • También tiene algunos buenos consejos sobre cómo probar su UI .

    Lo importante es separar la IU gráfica de la lógica de control y los datos. Esto se puede lograr con el patrón de diseño estándar de Model View Controller.

ObjectMentor

Este es un sitio web sobre pruebas. Encontré este interesante artículo de Michael Featers que explica que las herramientas de automatización de pruebas de UI son aceite de serpiente


Actualmente lo mejor en mi opinión es FEST .


He estado usando Jemmy encima de JUnit. Puede ver un fragmento de sus ejemplos de acciones de casos de prueba aquí:

new ClassReference("org.netbeans.jemmy.explorer.GUIBrowser") .startApplication(); JFrameOperator mainFrame = new JFrameOperator("GUI Browser"); new JButtonOperator(mainFrame, "Reload In").push(); new JLabelOperator(mainFrame, "Reloaded"); JTreeOperator tree = new JTreeOperator(mainFrame); //click in the middle of the tree tree.clickMouse(); //collapse node tree.collapsePath(tree.findPath("", "|")); //expand node tree.expandPath(tree.findPath("", "|")); //select node tree.selectPath(tree.findPath("GUI Browser", "|")); JTextFieldOperator testField = new JTextFieldOperator(mainFrame); //type new value in the text field testField.clearText(); testField.typeText("3");