Pregunta

Me gustaría escribir algunas pruebas para la interfaz gráfica de usuario de mi programa de cacao.

¿Hay alguna buena marco de pruebas de interfaz gráfica de usuario para aplicaciones de cacao? La única cosa que he encontrado es Squish , que, en 2.400 € , es mucho más allá de mi presupuesto ...

¿Alguna idea? ¿Cómo hacer probar el cacao interfaces gráficas de usuario?

¿Fue útil?

Solución

Depende de lo que entendemos por "pruebas de cacao interfaces gráficas de usuario."

Si desea herramientas como el viejo herramienta de usuario virtual incluye con el MOP, a continuación, son pocos y distantes entre sí; se le busca en herramientas como Squish y berenjena.

Si desea escribir pruebas de unidad para la interfaz humana de la aplicación, le sugiero que siga un " confianza, pero verificar enfoque " donde confianza que mientras usted está haciendo las conexiones adecuadas (según su marco ) que su usuario puede interactuar correctamente con su marco. Esto significa que puede hacer la mayoría de sus pruebas por verificación su modelo y el código de control están conectados a sus puntos de vista correctamente.

En mi weblog, he escrito un par de ejemplos de cómo hacer esto específicamente de cacao, una para interfaces de usuario de prueba construidos con destino acción , y uno para interfaces de usuario de prueba construidos con fijaciones de cacao . (Recuerde, por supuesto, que las dos tecnologías no son excluyentes: Si usted quiere hacer drag & drop en una vista de tabla administrado a través de enlaces de cacao, también tendría un origen de datos y, probablemente, un delegado conectado a través de meta-acción .)

Lo que no escribo pruebas unitarias para - en general - es el posicionamiento o el tipo de controles en su supervista. A veces eso es importante para obtener y mantener correcta, sin embargo; en ese caso, sólo puede consultar las propiedades apropiadas de los controles y verificarlos utilizando las afirmaciones estándar.

Lo que casi nunca hacer es escribir el código para "simular eventos." Lo más cerca que he llegado a que está construyendo una información de arrastre de objetos falsos y que pasa a una fuente de vista de datos de esquema para asegurarse de que se ocupará arrastra correctamente.

Otros consejos

Yo sugeriría que eche un vistazo a las de Google Caja de herramientas para Macintosh . Tiene, entre algunas otras cosas agradables, un muy buen conjunto de estado y representación adiciones de prueba para NSView y CALayers. En las pruebas unitarias usted afirma que el estado de la vista / capa o imagen renderizada coincide con una plantilla guardada (por su nombre). Si la plantilla no existe en el paquete de prueba o no coincide con la versión guardada, un nuevo estado codificada o TIFF extraída se produjo para su revisión. GTM proporciona categorías para NSView y CALayer hacer codificación estado y renderizado. Obviamente se puede anular estas categorías en sus propias subclases NSView o CALayer para codificar el estado correspondiente (utilizando el protocolo NSCoder) o de la prestación.

También le permite (fácilmente) enviar mediante programación eventos clave y ejecutar el bucle de ejecución de la unidad de pruebas y es compatible con la unidad de pruebas tanto en OS X y iPhone.

He creado un paquete de Python de código abierto que utiliza la API de Apple Accesibilidad entre otros para crear una biblioteca de automatización de interfaz gráfica de usuario clásica, dándole visibilidad y la interacción con el cacao interfaces gráficas de usuario. PyATOM página de inicio

Es posible revisar y considerar berenjena por TestPlant (formalmente Redstone Software) en http://www.testplant.com / .

Aquí es un artículo que Apple presentó en ellos el año pasado.

El último podcast CocoaCast tiene una entrevista con Ian Dees el autor de "pruebas con guiones de interfaz gráfica de usuario con Ruby". Puede encontrar más información en CocoaCast

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top