2009-07-24 13 views
5

¿Qué métodos utiliza para probar los controladores de eventos de prueba, particularmente si requieren información del evento (como las coordenadas del mouse o el destino del evento)? ¿Es la práctica más común simplemente refactorizar el comportamiento en un método que realiza el levantamiento mientras el manejador simplemente extrae información del evento, o hay formas efectivas de simular el envío de eventos en FlexUnit o Fluint?Unidad de prueba Controladores de eventos Flex

Respuesta

3

Más a menudo creo un objeto de evento manualmente y despacho el evento del objeto que se está escuchando, especialmente para asegurarme de que no haya escuchas de eventos flotantes que no se eliminen correctamente. Ocasionalmente me encuentro con una situación en la que mis clases de prueba no pueden acceder al objeto de envío. Si ese es el caso, separo la lógica comercial del método de escucha del evento real, mantengo el método de escucha del evento extremadamente simple y liviano, y pruebo la lógica de negocios. Sin embargo, el envío del objeto es mucho mejor, si puedes.

FlexUnit y Flunit no proporcionan ninguna "simulación" de envío de eventos; si puede acceder al objeto, podrá despachar desde él, y si no puede, FlexUnit/Flunit tampoco.

Sin embargo, al usar eventos, querrá comprender cómo FlexUnit/Flunit proporciona formas de realizar pruebas de unidades asíncronas. El envío de un evento simulado significa que está iniciando una acción que no finaliza cuando el método finaliza, por lo que deberá crear una prueba asincrónica. La documentación para FlexUnit está en sus ASDocs, y Flunit tiene un buen conjunto de documentos en línea en su sitio de origen: http://code.google.com/p/fluint/wiki/AsyncTest