"NSInternalInconsistencyException’ lors de l'exécution D'UITesting avec Xcode 7
Ok, je n'ai pas été capable de faire ce test dans les bêtas jusqu'à présent. Certains des problèmes que j'ai rencontrés sont ici et ici
maintenant, j'ai l'impression de rater quelque chose.
Voici mes progrès réalisés jusqu'à présent
- Activé "INTERFACE utilisateur de test" option lors de la création d'un nouveau projet. Ceci, en fait, ajoute une cible pour moi. Donc, je devrais être bon d'aller - ou alors j'ai pensé.
- le fichier swift sous L'essai D'UI avait déjà" XCTest "importé et était une sous-classe de"XCTestCase".
- setup () lance l'application XCUIApplication ().lancement ()
- et j'ai ajouté ce qui suit (en appuyant sur le bouton Enregistrer)
et ensuite, j'ai fait ce test.
le toute la chose échoue avant même que le test soit appelé, juste après le lancement de l'application dans setup () avec le suivant
* * * Assertion failure in -[XCUIApplication init], /Library/Caches/com.Apple.xbs / Sources/XCTest_Sim/XCTest-8170.3/Xctestfram Framework/UI Testing / XCUIApplication.m: 76 /Utilisateurs/Nom D'Utilisateur/Documents/Projets/Test/UiTesting/UITestingApp/UITestingApp.swift: 0: erreur: - [UITestingApp.Uitestingapp testSimpleTap] : échec: attrapé "NSInternalInconsistencyException", "Pas d'application cible chemin d'accès spécifié via la configuration de test:
testBundleURL:file:///Users/UserName/Library/Developer/CoreSimulator/Devices/E3201DC2-CAD3-48C3-95F5-15E18DCA1836/data/Containers/Bundle/Application/8B33FC59-FC03-41F8-BD21-43D81BA2D355/UITestingApp-Runner.app/PlugIns / UITestingApp.xctest /
productModuleName:(null) testsToSkip: (null) testsToRun: (null) reportResultsToIDE:aucun sessionIdentifier: F242796B-ED26-4AA7-861A-540D2D93CB8F pathToXcodeReportingSocket: (null) disablePerformanceMetrics: Non lesbaselines de traitementdoivent être considérées comme des erreurs:non baselineFileURL: (null) targetApplicationPath: (null) targetApplicationBundleID: (null) activités de rapport: n ° 151950920"
Quelqu'un a-t-il vu ça ou des suggestions sur ce que je pourrais manquer?
Note: j'ai bien défini la "cible D'Application" de la cible de test D'assurance-chômage à mon application
mise à jour: j'ai remarqué que ceci est applicable à toutes les versions bêta / finales de Xcode - Titre mis à jour en conséquence
11 réponses
j'ai eu un problème similaire et mon erreur était d'essayer d'utiliser le code de test D'UI dans une cible de test régulière. Une fois que j'ai fait une nouvelle cible, en commençant par "iOS UI Testing Bundle" et copié le code là, l'erreur a disparu. Voici le fil qui m'a pointé dans la bonne direction: https://twitter.com/punksomething/status/609505357132500993 "Oui, j'essayais d'utiliser un test D'interface utilisateur dans une cible de test régulière. A dû créer une nouvelle cible de test D'UI ajoutée"
cela m'est arrivé quand j'essayais d'ajouter une nouvelle classe à ma cible de test unitaire, mais j'ai choisi le modèle de classe de cas de test UI au lieu du modèle de classe de cas de test unitaire.
assurez-vous que vous sélectionnez toujours une bonne. Même s'il s'agit à la fois de la sous-classe XCTestCase et que vous les assignez à la cible appropriée, cette erreur se produira lors de la sélection du mauvais modèle.
j'ai eu ça après avoir renommé ma cible. La solution était de définir l' "Application cible" à "None" dans ma cible UITest et de frapper build. Après cela, j'ai mis 'None' en arrière mon application et l'erreur résolu. Je pense qu'il est très possible que le changement de nom ait perturbé les paramètres de L'application cible du test d'interface utilisateur.
je suis l'affirmation
* * * Assertion failure in -[XCUIApplication init], /Library/Caches/com.Apple.xbs/Sources/XCTest_Sim/XCTest-8170.3/XCTestFramework/UI Testing / XCUIApplication.m: 76
régulièrement, comme cela est décrit dans d'autres réponses. Vraiment ennuyeux, et il m'a fallu un certain temps pour trouver les étapes minimales pour s'en débarrasser.
la solution clé que j'ai trouvée est de redémarrer votre appareil. Donc, vous n'avez pas besoin de supprimer l'application, redémarrer Xcode ou quelque chose, juste redémarrer devrait faire disparaître cette affirmation.
après des retouches sans fin, a changé l'emplacement des données dérivées dans "Xcode préférences" de "Legacy" à "Custom" et l'a fait fonctionner!
j'ai eu ce même problème. Je pense que le problème provenait de renommer une cible en cours de route. Aucun des correctifs ici m'a aidé avec mon problème. Comme je ne faisais que commencer et que je n'avais pas encore écrit de tests, j'ai supprimé la cible entière pour les tests D'interface utilisateur et je l'ai rajoutée. Même nom et tout a commencé à bien fonctionner.
si vous rencontrez ce problème, il est possible qu'il soit dû à la dénomination. Vous pouvez le suivre de cette façon ou enregistrer vos tests et ajouter une nouvelle cible D'UI.
j'ai eu cette erreur après avoir écrit quelques tests et les avoir exécutés. J'ai essayé toutes les corrections et suggestions postées, mais aucune n'a fonctionné pour moi.
j'ai décidé de supprimer L'application XCUI qui est créée à chaque fois que vous exécutez des tests et redémarrez mon appareil et cela a fonctionné. cependant, si je passe les tests 7 ou 8 fois par la suite, l'erreur revient et je ne fais que répéter le cycle de la solution. Si vous supprimez juste l'application et ne redémarrez pas il ne fonctionnera pas.
pas sûr que cette réponse fonctionnera pour tout le monde, mais c'est ce qui a fonctionné pour moi.
cela a fonctionné pour moi après que j'ai commenté le code ci-dessous dans setup () la méthode de ma classe de TestCaseClass
continueAfterFailure = false & XCUIApplication ().lancement ()
j'ai eu ce numéro en cours D'exécution des tests Cucumberish sur xCode 8.
je fixe par Projet ( Dans le projet de navigation ) > MyTestTarget > Général
ici, assurez-vous que L'Application cible est définie à l'application que vous souhaitez exécuter les tests. Par défaut, il a été défini à None.
supprimer la cible existante et créer à nouveau corrige le problème.
assurez-vous que vous sélectionnez le bon pack test. Pour les tests de L'UI, il devrait être " "iOS Unit Testing Bundle ".
- New create file UI Test Case and Unit Test Case templates are not much different , ( the former two lines of code փ select Unit Test in the test will prompt "application is not running" փ adding " Xcuiapplication().lancer()" peut résoudre le problème。
- lorsque le test a incité à ne pas trouver de contrôle (par exemple UITextField), veuillez indiquer le nom du contrôle \ identity - > accessibility - > Label \ au même nom que le contrôle utilisé dans l'uitclass փ
- vous n'avez pas ajouté la classe test aux cibles correspondantes de L'assurance-chômage