web-dev-qa-db-fra.com

Après avoir renommé le projet, j'obtiens <XCTest/XCTest.h> introuvable.

J'ai d'abord dupliqué mon projet avant de le renommer. Après le changement de nom, je reçois 

Lexical or Preprocessor Issue <XCTest/XCTest.h> not found. 

L’erreur me dirige vers le fichier myapptests.m qui appelle 

#import <XCTest/XCTest.h>

Aussi la ligne suivante

@interface SpyShotTests : XCTestCase

Le "XCTestCase" n’est pas éclairé en violet. 

Tous les tutoriels que j'ai vus m'ont dirigé vers les chemins de recherche du cadre dans les paramètres de construction, mais le chemin de recherche du cadre est exactement le même que celui du fichier initial.

15
user3294722

Je suis tombé sur quelque chose de similaire et je me demande si ma solution pourrait être utile.

Vous voudrez peut-être vérifier que le fichier qui génère l'erreur est inclus dans les "sources de compilation" de la source cible appropriée. Il est possible que votre fichier n'ait pas été inclus. Dans mon cas, il avait été inclus dans la cible du projet et non dans la cible du test. Etant donné que XCTest n’est accessible qu’avec la cible de test, il ne s’est pas compilé pour générer l’erreur "Fichier XCTest/XCTest.h non trouvé".

Cibles du projet >> Phase de construction >> Compiler les sources: Making sure your test file is added as a compile source for the test target.

Vous pouvez résoudre ce problème en l'ajoutant manuellement aux "sources de compilation" comme dans l'image ci-dessus ou en supprimant le fichier du projet et en le rajoutant, en veillant à sélectionner la cible de test lorsque vous ajoutez de nouveau: Adding a new file to the Test Target.

Au cas où cela aiderait quelqu'un d'autre, je suis tombé sur cette erreur après avoir déplacé un fichier de scénario de test (dans le système de fichiers), puis l'avoir rajouté à mon projet de test (clic droit, 'Ajouter des fichiers à "Projet" ... "). Il s’avère que je n’ajoutais pas le fichier à la cible Test, mais que je l’ajoutais à la cible du projet. 

29
Derek Lee

Xcode 7.2.1/Swift 2.1.1

Lorsque j'ai créé un nouveau fichier, j'ai choisi iOS>Source>Swift File et, même si j'ai coché la cible test, j'ai toujours une erreur sur la ligne import XCTest:

erreur: impossible de charger le module sous-jacent pour 'XCTest'

Pour supprimer cette erreur, lorsque j'ai créé un nouveau fichier, je devais choisir iOS>Source>Unit Test Case Class et j'acceptais les valeurs par défaut pour tout le reste. 

1
7stud