2010-11-25 30 views
0

Bonjour J'évalue ICUTest pour une utilisation sur un projet. Mon point de vue initial est qu'il ressemble à une bibliothèque de tests visuels prometteuse. Le scénario que j'ai pour utiliser ICUTest est de démarrer une application avec une configuration spécifique et je m'attends à ce que la fenêtre principale de l'application s'affiche en fonction des paramètres de configuration. Chaque test unitaire devrait démarrer l'application et, après l'avoir terminée, devrait fermer l'application avec élégance. À l'heure actuelle, je peux exécuter des tests individuels, mais lorsque je lance plusieurs tests, je commence à rencontrer tous les types de problèmes de threads. Quelqu'un at-il eu une expérience avec cela?Tests unitaires WPF et ICUTest

Répondre

1

Il existe deux façons de tester votre application.

1) Le moyen le plus simple (et le plus réutilisable) est de tester la fenêtre principale de votre application comme n'importe quelle autre fenêtre. Faites votre initialisation après un événement window (comme Window.Loaded) ou via le constructeur (par exemple, new MainWindow ("myapp.config")).

2) Si l'initialisation doit être effectuée avant que la fenêtre ne soit ouverte, vous pouvez démarrer le thread de l'application avec un code similaire à celui here.

Remarque: dans WPF, vous ne pouvez démarrer une application qu'une seule fois, donc la méthode (1) est préférable. De plus, assurez-vous d'emballer tous vos appels liés à l'interface graphique dans un bloc ICU.Invoke (...).

+0

Merci Ray, je n'ai pas pu obtenir votre deuxième option pour travailler avec les dernières DLL d'IcuTest. J'essaye également d'exécuter un bootstrappeur de prisme pour tester différentes vues qui ont été configurées. Cela s'avère très difficile à faire, peu importe laquelle des options ci-dessus que j'ai essayé. – Andrew

+0

Je pense que le problème majeur est le démarrage de l'application plus d'une fois. WPF ne le permettra tout simplement pas. Pouvez-vous même appeler le prism bootstrapper plus d'une fois? – Ray

+0

J'ai envoyé un exemple de projet à l'adresse e-mail de support nxs7 avec un prism bootstrapper, mais je n'ai pas encore reçu de réponse de leur part – Andrew