mobile-testing-ios
Installation
SKILL.md
Platform-agnostic concepts: shared/mobile/testing-concepts.md
Testing — Couchbase Lite iOS/macOS
Core principle: use a real in-memory database
CBL has no mock — use a real database in a temporary directory. It's fast (< 5ms to open) and gives accurate behaviour.
func tempDatabase() throws -> Database {
let dir = FileManager.default.temporaryDirectory
.appendingPathComponent(UUID().uuidString)
try FileManager.default.createDirectory(at: dir, withIntermediateDirectories: true)
var config = DatabaseConfiguration()
config.directory = dir.path
return try Database(name: "test", config: config)
}