web-dev-qa-db-fra.com

Ajouter des tests unitaires à un projet déjà existant?

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.

53
Randall

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!

  1. Ouvrez votre panneau de cibles en sélectionnant votre projet dans le navigateur,
  2. Cliquez sur le bouton + qui se trouve en bas de la liste cible,
  3. Sélectionnez Ensemble de tests unitaires iOS dans la section Test de l'onglet iOS,
  4. Fournissez les informations requises et cliquez sur Terminé.

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!

72
akashivskyy

De plus, si vous souhaitez pouvoir exécuter cmd-U pour exécuter vos tests, supprimez le schéma créé pour le bundle de test et modifiez votre schéma d'application principal et ajoutez le bundle de test dans la configuration de test. Voir cette capture d'écran:

Run tests with cmd-U in xcode

10
Lee Probert

Mise à jour Xcode 7

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.

enter image description here

Les cibles de test dans cette image ont déjà été ajoutées, mais vous pouvez voir où se trouve le bouton Ajouter.

En relation

6
Suragch

Ceci est un guide pratique assez descriptif: Ajout de tests unitaires à un projet iOS existant avec Xcode 4

5
jki

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.

enter image description here

1
wzbozon

[Mis à jour pour Xcode 10.2]:

  1. Ouvrez votre projet Xcode
  2. Cibles ouvertes
  3. Cliquez sur le bouton "Ajouter une cible"
  4. Allez dans la section "Test"
  5. Sélectionnez "Ensemble de tests unitaires iOS"
0
Samruddhi

Xcode version 10.2.1

  1. Ouvert Test navigator (⌘ Command6)
  2. + au fond
  3. New Unit Test Target...
  4. Choisissez les options

enter image description here

N'oubliez pas d'ajouter #import "myClass.h" pour Objective-C ou @testable import module_name pour Swift pour tester les éléments internal

0
yoAlex5