Ich habe ein schnelles Protokoll IModelIdProvider
in der MyProjectName
Ordner. Ich habe eine Ziel-C-Unit Test-Klasse namens RemoteModelFactoryTest
in der MyProjectNameTests
Ordner erstellt. Um einige Tests durchzuführen, muss RemoteModelFactoryTest
das Protokoll IModelIdProvider
implementieren.Ziel-C-Test-Klasse mit Swift-Code
Wenn ich #import "MyProjectName-Swift.h"
mein schnelles Protokoll in meiner Ziel-C-Klasse verwenden, bekomme ich eine file not found
.
Wenn ich die #import
Anweisung #import "MyProjectNameTests-Swift.h"
ändern, wird der Header gefunden wird, aber nicht mein Protokoll (es im MyProjectName
Projekt definiert ist, nicht in der MyProjectNameTests
Projekt).
Gibt es etwas Besonderes in den *Tests
Projekten Swift-Code zu verwenden?
Ist die Swift-Datei auf das Testpaket ausgerichtet? –
Die aktuelle swift-Dokumentation ist entweder falsch oder es liegt ein Fehler in Xcode vor. Damit die Datei gefunden werden kann, müssen Sie "Product Module Name" in den Build-Einstellungen definieren - setzen Sie sie auf "MyProjectName" und Ihr Import sollte funktionieren. –
@AbhiBeckert Ich habe versucht, den Produkt-Modul-Namen zu ändern, wie Sie vorschlagen (siehe [hier] (http://stackoverflow.com/questions/28114772/cant-use-swift-classes-inside-objective-c-unit-test)) aber das hat bisher nicht geholfen. Hast du das Rezept tatsächlich probiert? – Drux