2009-07-24 6 views
5

Quelles méthodes utilisez-vous pour tester les gestionnaires d'événements, en particulier s'ils nécessitent des informations de l'événement (telles que les coordonnées de la souris ou la cible de l'événement)? La pratique la plus courante consiste-t-elle simplement à refactoriser le comportement en une méthode qui effectue le levage pendant que le gestionnaire extrait des informations de l'événement ou existe-t-il des moyens efficaces de simuler l'envoi d'événements dans FlexUnit ou Fluint?Unité de test des gestionnaires d'événements Flex

Répondre

3

Le plus souvent, je crée un objet événement manuellement et répartit l'événement depuis l'objet écouté, en particulier pour que je puisse m'assurer qu'il n'y a pas d'écouteurs d'événements flottants qui ne sont pas supprimés correctement. Parfois, je rencontre une situation dans laquelle mes classes de test ne peuvent pas accéder à l'objet de répartition. Si c'est le cas, je sépare la logique métier de la méthode actuelle de l'écouteur d'événement, conservez la méthode d'écoute d'événement extrêmement simple et légère, et testez la logique métier. Dépêcher de l'objet est bien mieux, si vous le pouvez. FlexUnit et Flunit ne fournissent aucune «simulation» de la répartition des événements; Si vous pouvez accéder à l'objet, vous pourrez l'envoyer, et si vous ne pouvez pas le faire, FlexUnit/Flunit ne le pourrait pas non plus. Cependant, lorsque vous utilisez des événements, vous devez comprendre comment FlexUnit/Flunit permet de tester les unités asynchrones. L'envoi d'un événement simulé signifie que vous lancez une action qui ne se termine pas lorsque la méthode est terminée. Vous devrez donc créer un test asynchrone. La documentation de FlexUnit se trouve dans leurs ASDocs, et Flunit a un bon doc en ligne sur leur site d'origine: http://code.google.com/p/fluint/wiki/AsyncTest

Questions connexes