Les tests échouent sur simulateur iOS 12 lancement initial

voix
0

Je vais avoir actuellement un problème vraiment bizarre avec iOS 12 simulateurs en ce qui concerne les tests et je ne sais pas vraiment comment aborder essayer de le résoudre.

Je ferai de mon mieux pour expliquer ici, mais je ne comprends pas bien ce qui se passe alors pardonnez-moi si cela ne fait pas beaucoup de sens!

J'ai un espace de travail de Xcode contenant quelques projets distincts, chacun d'entre eux contenant des tests fonctionnels.

Cet espace de travail est également relié à Bitrise pour exécuter des tests chaque ouverture d'une demande de fusion vers le haut.

Tout fonctionnait très bien jusqu'à ce que je mis à jour tous les projets et les objectifs à Swift 4.2. La mise à jour elle-même est allé sans accroc, avec seulement 1 petit changement dans le délégué de l'application aux côtés de paramètres dans le fichier de projet, donc je suis assez sûr que rien ne la migration a causé le problème.

Auparavant, tous les tests courraient et passer bien sur des simulateurs locaux et Bitrise.

Maintenant, après cette migration, 2 tests échouent sur Bitrise et ce sont les deux mêmes à chaque fois.

Après un peu de jouer autour, j'ai réussi à reproduire localement et découvert que ces tests échoueraient localement si elles sont exécutées sur un lancement initial de simulateur iOS 12 seulement.

Si je test sur un nouveau simulateur iOS 11,4 pour la première fois, les tests passent tous.

Si je test sur un nouveau simulateur iOS 12 pour la première fois, les deux tests échouent.

Si je puis fermez le simulateur iOS 12 et tester à nouveau dessus, l'un des deux tests échoue.

Le fait qu'il semble être lié au simulateur complètement frais lance explique pourquoi ne Bitrise, comme je l'imagine qui fonctionne dans des environnements frais avec des simulateurs frais pour chaque génération (mais peut-être que je vais avoir de la chance à un moment donné et être en cours d'exécution sur une machine a déjà couru un simulateur iOS 12, et donc tout va bien fonctionner ?!).

Les tests eux-mêmes sont liées à la surveillance de la région. J'ai un manager emplacement fictif qui ajoute régions à un tableau lorsqu'une demande de surveillance d'une région est envoyée, et supprime quand une demande d'arrêt de surveillance est envoyée.

Les tests qui ne font partie testStopScanningRemovesMonitoredRegions, donc j'ajouter deux régions pour la surveillance, puis de les supprimer un par un, en assurant le nombre des régions contrôlées diminue.

Les assertions pour additionner les deux régions passe.

Les affirmations après chaque retrait ne.

Je teste qu'un objet middle-man j'ai créé demande correctement ces start / stop surveillance des événements, plutôt que de CLLocationManagerlui - même.

J'espère que cela une certaine quantité de sens, et désolé si elle est un peu divaguer; Je suis juste essayer d'inclure toutes les informations pertinentes!

Créé 19/09/2018 à 13:23
source utilisateur
Dans d'autres langues...                            

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more