Ich habe eine Anwendung mit Core Data als Datenbank, ich versuche, Testfälle für meine DB-Abfragen schreiben, die ich in meine NSManagedObject
Unterklasse geschrieben habe und sie werden True zurückgegeben, wenn die Einfügung funktioniert erfolgreich. Ich versuche, ein Objekt in meine Einheit wie folgt einzufügen:Unit-Testfälle für Core Data-Abfragen
func testDBInser() {
let appDelegate: AppDelegate = AppDelegate()
let managedObjectContext = appDelegate.persistentContainer.viewContext
let myObject: MyManagedObject = MyManagedObject(context: managedObjectContext)
myObject.id = 10
myObject.name = "testObj"
XCTAssertTrue(UserProfileModel().insertObjectToUserProfile(myObject))
}
Aber ich bin immer diesen Fehler für meinen Test: Ein NSManagedObject nur sein kann (oder beobachtet durch) einen einzigen NSManagedObjectContext
Was ist der Code 'UserProfileModel() insertObjectToUserProfile (myObject)' tun? Greifen Sie auf einen zweiten Kontext zu und suchen Sie vor dem Speichern nach dem Objekt? – richardpiazza
@richardpiazza Ich habe meiner nsmanagedObject-Klasse eine Erweiterung hinzugefügt und dort Abfragen geschrieben, es nimmt ein managedObject und fügt es in meine Entität ein – Niloufar