Xcode 6 de l'Éditeur de ne pas reconnaître les tests unitaires
J'ai un problème que Xcode IDE 6 ne détecte pas mon swift unité des cas de test correctement. Quand je lance les tests unitaires, tous les tests ont été exécutés.
Mais dans l'IDE lors de l'édition les tests unitaires ne sont pas reconnus. Je exécuter l'ensemble de la suite de tests afin d'exécuter un test unique.
Je ne pouvais pas comprendre comment je éviter ce problème.
- J'ai le même problème. Pas de solution pour le moment. Dans le test de navigateur, je peux voir les icônes pour exécuter des tests individuels. Mais si je lance un test en cliquant sur une icône, tous les tests sont exécutés au lieu de seulement un, j'ai cliqué.
- le mieux à mon projet grandit, plus le pire c'est arriver. Je n'ai pas d'IntelliSense dans de nombreux swift fichiers. J'espère que les bugs seront corrigés avec d'autres versions de Xcode.
- Sérieusement envisagé de travailler directement dans VIM.
- Même sh.. avec XCode 8.
- Peut-être que cela peut résoudre ce problème github.com/onmyway133/TestTarget
Vous devez vous connecter pour publier un commentaire.
Problème est résolu. Tout ce que j'ai à faire est de lancer le "Window -> Projets" de la fenêtre et de supprimer les "Données Dérivées. Après l'indexation de tous les tests sont de travail.
En attendant, apple est le fix de bugs dans le Xcode 6.3 de l'éditeur, bit par bit.
Pour moi la solution était de préfixe tous la méthode du "test"
c'est à dire
devrait être:
Le "fix" pour moi, c'était pour ajouter un nouveau test. J'ai fait des bêtises:
Quand j'ai couru les tests à nouveau, tous les tests dans ce fichier ont été reconnus par l'éditeur. J'ai supprimé le faux test et tout est toujours très bien. Malheureusement, j'ai dû le faire dans chaque fichier, mais au moins ça marche. Espérons que cela aide quelqu'un.
Ci-dessous sont quelques-uns solution pour ce problème :
Patienter un certain temps. Il faut du temps pour charger diamant parfois. Naviguer entre les différents fichiers et de passer ensuite à la même test il devrait apparaître.
Propre projet, Propre dossier de création et même supprimer les données dérivées du contenu. Cochez cette comment supprimer des données en toute sécurité.
Quitter Xcode et de l'ouvrir à nouveau.
Assurez-vous que votre test-cas nom commence par
testFunc_Name
Parfois, votre test-fichier peut contenir fonction autre que celle de test. Dans un tel scénario diamant symbole ne s'affiche.
Remove such function.
Dans mon cas 1, 3 et 5 solution souvent travaillé pour moi.
J'ai eu le même problème aussi. Juste assurez-vous que chacun de vos cas de test a une sorte de XCTAssert() Consolidés.
XCTAssert
dans les fichiers ne sont pas automatiquement les rendre reconnaissables par Xcode.(Depuis votre commentaire indique que vous rencontrez toujours ce problème après une semaine, cela ne peut pas vous aider, mais...)
Je suis tombé sur ce problème où l'ajout d'un nouveau (Swift) de test 6.1 de ne pas faire apparaître dans le "Test de Navigateur" ou le régime de l'éditeur -- le redémarrage de Xcode corrigé le problème et maintenant je peux exécuter les tests individuellement.
Xcode 7
Ma réponse est ici.
Dans Xcode 7 pour le Test Unitaire est un peu plus facile que dans Xcode 6 (pas besoin d'annoter la classe et les méthodes que
public
). Utilisation@testable
avant l'importation du nom de la classe.Dans votre classe, vous n'avez pas à faire quelque chose de spécial.
Il est possible vous pouvez également définir "Définit le Module" en vertu de l'Emballage OUI pour votre application Paramètres de construction.
Voir aussi la réponse à ces questions:
Assurez-vous que le cas de test le nom commence par "test" suivi par le nom que vous voulez et de les construire(cmd+B) le projet.la pierre!!.
Pour moi , j'ai besoin d'ajouter des Tests pour ci-dessous ici
J'ai eu une erreur similaire (bien qu'en Objective-C, pas de swift). Si j'ai ajouté une nouvelle méthode de test de la classe, la nouvelle méthode ne s'affiche pas dans le test de navigateur et il ne serait pas exécuté lorsque j'ai couru à l'ensemble. J'ai aussi ne pas obtenir ces points dans la barre latérale à côté de chaque méthode qui, si vous cliquez dessus, serait simplement une méthode de test.
La seule chose fixe, mon problème a été la suppression de toute ma classe de test (sauvegarde de son contenu ailleurs temporairement) puis recréer la classe de test et (peut-être avec plus de soin?) réglage des paramètres de construction de tous les plus de nouveau.
Parfois tout ce que vous devez faire est d'attendre pour Xcode pour terminer l'indexation de tous vos fichiers. Pour les grands projets de ma de l'unité de test de la vue navigateur est souvent vide jusqu'à la fin.
Pour moi, il suffisait de sélectionner
Product->Test
et attendre un peu. Lorsque les tests juste de commencer à courir, tous les diamants deviennent disponiblesLorsque vous ajoutez un nouveau test, enregistrez le fichier (Cmd+S) et la pierre (vérifié sur Xcode 7.3)
J'ai résolu mon problème en tournant simplement le
private
méthodes danspublic
.Donc, si c'est le même problema vous êtes confronté à, commutateur:
à:
Voici ce qui a fonctionné pour moi. Même si le test de l'unité, dit-il a 0 tests disponibles, j'ai cliqué sur jouer, puis il a couru à travers tous les 4 tests et puis il a montré.