Mam dwa cele app
i appTests
. Mam również klasę Wine
i framework Realm
i "RealmSwift", które są powiązane z tymi dwoma celami. Nie ma wyjątków Kiedy używam klasy Wine
w tragecie app
.Klasa jest połączona więcej niż jeden raz w celu
Ale gdy chcę uruchomić testu jak
appTests.swift (22 linii)
import UIKit
import XCTest
import RealmSwift
class appTests: XCTestCase {
func testRealmAdd() {
NSFileManager.defaultManager().removeItemAtPath(Realm.defaultPath, error: nil)
let realm = Realm()
let wine = Wine() // when error occure
wine.photo = "photo"
wine.desc = "description"
wine.raiting = 3.0
realm.write {() -> Void in
realm.add(wine)
}
let result = realm.objects(Wine)
print("\(result)")
XCTAssertTrue(result.count == 1, "There should be one element")
}
}
Wine.swift (10 linii)
import UIKit
import RealmSwift
class Wine: Object {
dynamic var desc: String = ""
dynamic var photo: String = ""
dynamic var raiting: Double = 0
}
Wtedy wyjątek pojawia się w linii 8 w appTests.swift
Podklas RLMObject o tej samej nazwie nie może być dwa razy zawarty w tym samym celu. Upewnij się, że "wino" jest połączone tylko raz z bieżącym celem.
Już wyczyściłem DerivedData i projekt. Czy możesz zasugerować, gdzie powinienem wyglądać?
EDIT po nhgrif komentarzu
Ok wydaje się, że wyjątek wzrasta wcześniej, w linii 7. Która jest teraz oznaczone w kodzie dzięki nhgrif.
Która linia to linia 8? Prawdopodobnie nie ma to nic wspólnego z kodem źródłowym, ale zamiast tego, w jaki sposób łączysz frameworki z projektami. – nhgrif
@nhgrif Dodałem te struktury, takie jak tutorial, powiedział: https://realm.io/docs/swift/latest/#getting-started, a następnie zaznaczyłem 'Realm.framework',' RealmSwift.framework' oraz 'Wine.swift' jako sprawdzone dla celu 'appTests' w ** Docelowe członkostwo ** –