Core Dataアプリの単体テストを追加したいのですが、テスト間でコンテキストをリセットする方法はわかります。コアデータスタックを破棄する方法は?
これは私のCoreDataStack
オブジェクトです:
public final class CoreDataStack {
var storeType: StoreType!
public init(storeType: StoreType) {
self.storeType = storeType
}
lazy var persistentContainer: NSPersistentContainer = {
let container = NSPersistentContainer(name: "Transaction")
container.loadPersistentStores(completionHandler: { (description, error) in
if let error = error {
fatalError("Unresolved error \(error), \(error.localizedDescription)")
} else {
description.type = self.storeType.type
}
})
return container
}()
public var context: NSManagedObjectContext {
return persistentContainer.viewContext
}
}
そして、これは私が私のテストでそれを使用しています方法です:
class PaymentTests: XCTestCase {
var context: NSManagedObjectContext!
override func setUp() {
super.setUp()
let coreDataStack = CoreDataStack(storeType: .inMemory)
context = coreDataStack.context
}
}
私はcontext.reset()
tearDown
内部関数を呼び出すことを試みたが、データがありませんリセット、それは常に永続的です。
コアデータスタックをどのように切断できますか?