Xcode Test nicht erkennen meine Klasse
Ich Klasse namens Mahlzeit.swift in meinem Projekt und ein unit-test
func testMealInitialization() {
//Success case.
let potentialItem = Meal(name: "Newest meal", photo: nil, rating: 5)
XCTAssertNotNil(potentialItem)
//Failure cases.
let noName = Meal(name: "", photo: nil, rating: 0)
XCTAssertNil(noName, "Empty name is invalid")
}
Aber das problem ist, dass: Verwendung von ungelösten identifier "Mahlzeit"
sicher, dass Sie nicht verpassen
mein Essen Klasse ist public
Wie @testbar ?
dann sollte es funktionieren ohne @getestet werden (wird Hinzugefügt, um die import)
xcode ist ein bisschen schuppige es einfach helfen kann, Sie zu schlagen, die Produkt - /test-Taste
@testable
wenn Essen ist nicht öffentlichmein Essen Klasse ist public
Wie @testbar ?
dann sollte es funktionieren ohne @getestet werden (wird Hinzugefügt, um die import)
xcode ist ein bisschen schuppige es einfach helfen kann, Sie zu schlagen, die Produkt - /test-Taste
InformationsquelleAutor Imran Shamszadeh | 2015-07-10
Du musst angemeldet sein, um einen Kommentar abzugeben.
@testable import MyApp
sollte funktionieren. Denken Sie nur daran, um entsprechende Konfigurationen innerhalbDebug
für IhreUITest
Ziel.Ich hatte, dies zu tun: stackoverflow.com/questions/32008403/...
InformationsquelleAutor Bartłomiej Semańczyk
Xcode 7 fügt die
@testable import
- Anweisung zu vereinfachen, die user-Tests. An der Spitze der unit-test-Klasse-Dateien, fügen Sie die folgende Anweisung:Wo MyApp ist der name einer iOS-app. Jetzt die unit-test-target sollte in der Lage sein zu finden die Klassen in Ihre app und führen Sie die tests aus. Wenn Sie link-Fehler sagen, dass Xcode nicht finden können, Ihre app-Klassen, stellen Sie sicher, dass das Produkt Modulname bauen Einstellwert, entspricht dem Namen, den Sie verwenden in der
@testable import
Anweisung, MyApp in diesem Beispiel.Wenn
@testable import
bei Ihnen nicht funktioniert, ein workaround ist, um Ihre app-Klassen, die Mitglieder der unit-test-target. Sie können sich zum Ziel gesetzt, die Mitgliedschaft in einer Datei in Xcode mit dem Datei-Inspektor.@testable import
funktioniert nicht für meine UITest-Klasse. Warum? Es muss ein Weg dies zu tun, ohne manuell hinzufügen jeder Datei, um das UITest Ziel.Es ist glitchy – ich habe nicht in der Lage zu machen @prüfbar arbeiten an unserem großen Projekt, wie der noch. In der Regel ist das problem einer "kein solches Modul" Fehler beim kompilieren Zeit, und nach endlosen Stunden Gefummel habe ich beschlossen, dass es einfach nicht zuverlässig funktioniert, und ganz bestimmt nicht auf der UI-test-Klassen. – Ich bin ziemlich sicher, dass es Probleme hat, wenn Sie mehr als ein Paket (oder "module") in Ihrem Projekt. Zum Beispiel, wir haben alles organisiert, die in verschiedenen Paketen, wie Gebrauchsmuster, Modell, Ansicht, etc. Wir können nicht Holen Sie sich die test-Klassen, um erfolgreich zu importieren, diese Module.
Produkt-Modul-Name build-Einstellung made my day - danke!!!
Der workaround (manuelle hinzufügen der Klasse, um das test-Projekt) ist die einzige Sache, die für mich gearbeitet in einem Arbeitsbereich Projekt mit mehreren pods und Karthago Rahmen.
InformationsquelleAutor Mark Szymczyk
Ich auch begegnet diesem Problem, was für mich gearbeitet ist nachladen meiner test-Datei und die erneute Eingabe des
dann an diesem Punkt, es erkannte meine FoodTracker-Klassen (Mahlzeit-Klasse) und die Fehler sind Weg.
InformationsquelleAutor ivyr
Klicken Sie auf Ihr Essen Klasse. Dann auf der rechten Seite sehen Sie 'Ziel-Mitgliedschaft" - Abschnitt. Wählen Sie Ihr Projekt testen.
(Xcode 7)
Voilà.
InformationsquelleAutor Manu