2017-10-16 5 views
0

Je ne sais pas si c'est une bonne pratique ou non, alors n'hésitez pas à m'appeler si ce n'est pas le cas. J'ai un test d'interface utilisateur qui est conçu pour tester mon écran de bienvenue pour mon application. Donc, dans le test, je voulais mettre une instruction if pour m'assurer que je suis dans le contrôleur de vue correct avant que le code de test s'exécute. Mon problème est que si je ne suis pas dans le View Controller correct, je voulais le faire apparaître sur le contrôleur de la vue racine et lancer le test à partir de là, mais je ne suis pas sûr de savoir comment le faire. En d'autres termes, si je ne suis pas sur le VC de bienvenue, déplacez-moi et lancez le test.
Quelle est la syntaxe pour ce faire dans un test d'interface utilisateur? À l'heure actuelle ce que j'ai essayé est d'écrireUITest popToRootViewController

else { 
UINavigationController.popToRootViewController("WelcomeScreenNavigationController") 
run the rest of the test from the welcome vc.... 
} 

le « WelcomeScreenNavigationController » est l'id story-board de mon contrôleur de navigation. L'erreur que je reçois lorsque je tente de pop à mon contrôleur racine de cette façon est enter image description here

Si quelqu'un sait comment je pourrais revenir à la VC root pour exécuter correctement mon UITest qui serait très apprécié.

Répondre

0

Vous essayez d'appeler la fonction popToRootViewController de la classe UINavigationController, plutôt que d'une instance de cette classe. La fonction est une méthode d'instance et doit être appelée sur une instance.