J'ai l'application avec écran de connexion et l'écran qui apparaît après la connexion (partie autorisée).
Quelle est la meilleure approche pour tester ces écrans de la partie autorisée? p>
J'ai plusieurs idées: p>
1) D'une manière ou d'une autre, j'ai besoin de supprimer toutes les données de Keychain avant chaque test Et puis je passe tout le flux à chaque fois pour aller au premier écran après la connexion. Lorsque j'ai besoin d'envoyer une demande au backend to Login, j'attends l'écran principal à l'aide de p> 2), je passe quelques arguments ici p> afin que je puisse passer un faux mais je remplis que c'est un moyen sûr de la sécurité. P> Avez-vous des idées Quelle est la meilleure approche et peut-être que vous pouvez donner des conseils d'une meilleure approche? Em> p> p> jeton code> et sortie backend acceptera ce
jeton code>, de sorte que mon application saura que cela doit me diriger vers le principal L'écran et toutes les demandes réussiront parce que mon service réseau a ce faux
jeton code> p>
3 Réponses :
La deuxième idée que vous avez mentionnée est un bon moyen de sauter l'écran de connexion dans les tests. En outre, la mise en œuvre d'un jeton qui passe sera utile pour l'équipe du développeur également. Ces arguments de lancement peuvent être stockés aux paramètres de lancement de schémas. p>
En outre, si vous mettez en place une liaison profonde de la même manière, cela apportera des améliorations encore plus rapides pour l'équipe AQ et Developer. p>
Sûrement, ces "raccourcis" doivent être accessibles uniquement lors de l'exécution d'une configuration code> de débogage de code> (en utilisant #if debug ... code>) p>
Merci pour vos pensées, pour l'instant, je marquais votre réponse aussi correcte que si quelqu'un d'autre donne de nouvelles idées comment archiver ces objectifs
À mon avis, votre service de connexion ou quel que soit le service Pour réaliser que vos services devraient tous être représentés en tant qu'interfaces / Je n'entraînerais jamais de réseautage en tests automatisés. Vous devez créer une maxe implémentation de votre service d'autorisation, par exemple, que dans l'environnement de test automatisé pourraient être moqués de donner une réponse du succès ou de l'échec en fonction du test que vous exécutez (et cette configuration que vous pouvez faire dans la méthode de la configuration () peut-être. ). p> code> Votre application peut avoir besoin d'exécuter ou d'afficher certains cas d'utilisation, devrait être tout
moqueur code>. Cela signifie dans votre appareil automatisé de l'unité / de l'utilisateur UI> Environnement Votre application va parler à des implémentations de service moquées, cela signifie que la réponse du service de connexion ou de l'autorisation doit être moquée d'être un succès ou une échec, de sorte que vous peut tester les deux. p>
Protocoles CODE> et les détails de la mise en œuvre / de la mise en œuvre doivent être dans l'environnement de production, de développement ou de test automatisé code> environnement code>. < / p>
Cela est vrai pour les tests unitaires et je les fais de la même manière, mais cela est impossible pour les tests d'interface utilisateur, car les tests d'interface utilisateur lancent votre application réelle sur un simulateur
Il est possible de détecter si l'application est lancée par test (vous aurez besoin d'un autre argument de lancement). Ensuite, vous pouvez passer à un faux serveur si nécessaire. L'autre (et parfois mieux) de se moquer des choses dans l'interface utilisateur est d'utiliser EmpreyRy Cadre, bien qu'il soit toujours en version bêta.
La suite de tests la plus authentique se connecterait au début de chaque test (si nécessaire) et signerait le cas échéant lors du démarrage. Cela conserve chaque test autonome autonome et permet à chaque test d'utiliser un ensemble d'informations d'identification différent sans avoir à vérifier s'il est déjà signé dans / doit passer à un autre compte d'utilisateur, car les tests vont toujours décéder à la fin. P >
Il ne s'agit pas d'une méthode inotérale car il peut ne pas toujours être possible pour le code de déchirure d'exécuter correctement si un test a échoué (puisque l'application peut ne pas être dans l'état que la démolition s'attend, en fonction de votre mise en œuvre), mais si Vous recherchez des tests de bout en bout, en utilisant uniquement les codépaths utilisés par les utilisateurs de la production, c'est une façon de le faire. P>
L'introduction de la moqueur / encombrement peut rendre vos tests plus indépendants et fiables - à vous de choisir à quel point vous souhaitez refléter l'expérience utilisateur de production dans vos tests. P>