0

Je travaille sur des tests d'interface utilisateur codés pour mon application Web. Était en train d'essayer d'isoler les appels de méthode de référentiel de la même manière que je faisais dans les tests d'unité et d'intégration, c'est-à-dire en utilisant le framework Microsoft.Fakes. Mais il semble que pour les tests de l'interface utilisateur Fakes ne fonctionnent pas, parce que la méthode réelle est encore appelée à la place d'une cale. Sans isolation, le test de l'interface utilisateur affecte la base de données (par exemple en ajoutant un nouvel utilisateur lors du test du processus d'enregistrement), ce qui le rend non réutilisable. Donc se demandait s'il est possible de simuler/se moquer de ces méthodes et éviter d'installer la base de données de test et de tester le site web chaque fois que j'ai besoin d'exécuter ces tests d'interface utilisateur codés. N'a pas trouvé beaucoup d'informations utiles liées à ce problème, donc sera reconnaissant pour toute aide.Utilisation du framework Microsoft.Fakes dans les tests d'interface utilisateur codée

En cas de besoin ici est un lien vers un exemple très simple: https://www.dropbox.com/s/m6les7pmto14njq/TestCodedUITest.zip C'est une solution VS 2012 avec une bibliothèque de classes (contenant une classe avec la méthode qui jette simplement une exception), une application Web (contenant une page avec un bouton qui appelle la méthode mentionnée) et enfin un test UI codé qui contient le shim de cette méthode et ouvre simplement IE, navigue vers la page et clique sur le bouton.

+0

Pouvez-vous fournir une partie du code dont vous parlez? – Micha

+0

Ajout d'un lien vers l'exemple d'application. Merci. –

Répondre

0

L'interface utilisateur codée teste généralement l'application réelle ou le vrai site Web. L'interface utilisateur codée est assez différente des tests unitaires en ce sens qu'elle ne modifie en aucune façon l'application ou le site Web. Pour effectuer les tests que vous voulez, je pense que vous avez besoin d'un site web spécial pour les tests ou un mode de test sur le vrai site web.

+0

Merci pour la réponse. Ouais, la base de données de test et le site Web sont également une option, mais cela nécessitera un travail manuel avant chaque exécution de test - maintenir le site Web de test, recréer la base de données de test. Une autre option serait de passer un paramètre à une page indiquant qu'il s'agit d'un mode de test, puis de refactoriser le code-behind pour gérer cette situation et isoler les appels de méthode appropriés. Mais cela entraînerait beaucoup de changements dans le code et ne semble d'ailleurs pas une solution appropriée de toute façon. –

Questions connexes