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'''两次。谢谢! –