1
我想單元測試是否已成功創建表FMDB。FMDB單元測試如果創建表成功沒有通過
db.createGoodTable("good")
XCTAssertTrue(db.tableExists("good")!)
我無法通過測試。錯誤是:
The FMDatabase <FMDatabase: 0x6080000bfb00> is not open.
所以我儘量檢查存在之前將其打開:
db.createGoodTable()
db.open()
XCTAssertTrue(db.tableExists("good")!)
還是同樣的錯誤。
PS:getDatabase
通過單元測試沒有任何問題得到一個數據庫。
func createGoodTable() {
let sql = "create table if not exists good(name text)"
guard let db = self.getDatabase("databaseName"), db.open() else {
return false
}
do {
try db.executeUpdate(sql, values: nil)
} catch let er as NSError {
print(er)
}
return db.close()
}
EDIT
func getDatabase(_ dbName: String) -> FMDatabase? {
let dbPath = databasePath + "/" + dbName
guard FileManager.default.fileExists(atPath: dbPath) else {
return nil
}
return FMDatabase(path: dbPath)
}
@Rob你是對的!我的錯!我調用了FMDatabase'''兩次。謝謝! –