2010-02-23 18 views
10

Dans mon projet, nous utilisons FEST pour les tests GUI. Nous avons été persuadés que FEST est puissant, mais afficher des images à chaque fois est une perte de temps. Nous utilisons aussi le continuum et FEST ne fonctionne pas avec le continuum parce que maven de continuum ne peut pas ouvrir l'interface graphique (de la même manière que nous utilisons maven et nos tests passent en maven sur notre machine locale).comment faire un test gui sans afficher dans FEST-SWING

Comment puis-je résoudre ce problème?

Si ce n'est pas possible, s'il vous plaît informez-moi.

Répondre

8

FEST par conception affiche l'interface utilisateur. Si vous ne voulez pas que les tests bloquent votre bureau, le seul moyen est d'utiliser un type de bureau virtuel: - Xvfb (Linux) - VMWare (Linux, Windows) - Connexion automatique (Windows - non testé, trouvé quelque part dans docs)

Vous pouvez en lire davantage ici: http://docs.codehaus.org/display/FEST/Continuous+Integration

ou non être liés, mais pour accélérer vos tests ont un oeil à:

Robot.settings().delayBetweenEvents() 

Cette contrôle la rapidité des événements de la souris et du clavier.

1

Jetez un oeil à WindowLicker:

Un développement cadre pour le test driven des systèmes Java à travers l'interface graphique.

Je ne l'ai pas utilisé moi-même, mais il a été écrit par certaines des personnes qui ont écrit JMock, donc ce devrait être un utilitaire de bonne qualité.

5

Vous pouvez utiliser le module Cacio-tta de Caciocavallo ... Je sais que ça sonne comme je parle du fromage, mais il est un vrai projet:

http://openjdk.java.net/projects/caciocavallo/

Le cadre de test se composent d'un coureur qui se connecte à Fest ("CacioFESTRunner") et vous permet d'exécuter le test sans perturber votre flux normal, vous n'avez pas besoin de serveur spécial, car cacio a tout ce dont vous avez besoin. Il est également entièrement synchrone, donc vous n'avez pas besoin de vous inquiéter des fausses défaillances dues au fait que la commande de dessin est distribuée de manière asynchrone, et il est disponible en tant que paquet maven, donc il est très facile à configurer.

Vous pouvez trouver plus d'informations ici:

http://jroller.com/neugens/entry/caciocavallo_1_1_released