Lorsque vous créez un projet XCode 4, il vous demande si vous souhaitez inclure les tests unitaires. Mais comment l'ajouter à un projet créé sans eux?
J'ai commencé un projet avec des tests unitaires pour essayer de le comprendre, et il semble que la seule différence entre lui et mon projet existant soit les fichiers Test.h et Test.m dans le nouveau projet.
Mais quand je les déplace dans mon ancien projet et que j'essaye de les construire, il ne dit pas un tel fichier ou répertoire: SenTestingKit/SenTestingKit.h. Cela ressemble à un cadre pour moi, mais si je vais créer des phases et essayer d'ajouter le cadre, il n'y en a pas un appelé SenTestingKit :( Et le nouveau projet ne lie que les suspects habituels: UIKit, CoreGraphics et Foundation, mais pas de SenTestingKit.
Réponse mise à jour pour Xcode 10.2.
Heureux que vous ayez posé cette question - il n'est jamais trop tard pour ajouter des tests à un projet!
C'est si simple. Xcode va générer une cible, certains fichiers standard tels que Info.plist et un fichier de cas de test initial pour vous. Bon test!
Première méthode
Fichier> Nouveau> Cible ...
Choisissez l'ensemble de tests unitaires iOS. (Si vous souhaitez ajouter des tests d'interface utilisateur, choisissez l'ensemble de tests d'interface utilisateur.)
Deuxième méthode
Cliquez sur le nom de votre projet dans le navigateur de projet. Vous verrez les CIBLES listées. En bas de l'écran, appuyez sur le bouton plus (+) et ajoutez l'ensemble de tests unitaires iOS.
Les cibles de test dans cette image ont déjà été ajoutées, mais vous pouvez voir où se trouve le bouton Ajouter.
Ceci est un guide pratique assez descriptif: Ajout de tests unitaires à un projet iOS existant avec Xcode 4
Quelques autres conseils pour la bonne réponse:
Dans XCode 6
c'est beaucoup plus facile maintenant car vous n'avez pas besoin de corriger les paramètres de construction.
Modifiez l'ID de bundle sur une cible de test à la bonne, si nécessaire, en cliquant sur la cible -> Info
-> Bundle Identifier
.
Presse CMD + U
et vos tests s'exécuteront.
Si vous utilisez CocoaPods (ce qui est probable), vous devez également ajouter des pods aux configurations de votre projet.
[Mis à jour pour Xcode 10.2]:
Xcode version 10.2.1
Test navigator
(⌘ Command + 6)New Unit Test Target...
N'oubliez pas d'ajouter #import "myClass.h"
pour Objective-C ou @testable import module_name
pour Swift pour tester les éléments internal