The snapshot testing library for GRDB
Requirements: iOS 13.0+ / macOS 10.15+ / tvOS 13.0+ / watchOS 7.0+ • Swift 6+ / Xcode 16+
This package makes it possible to test GRDB databases with SnapshotTesting.
See the Documentation for usage tips and case studies (testing a fresh install, testing a specific migration, etc).
import GRDB import GRDBSnapshotTesting import InlineSnapshotTesting import XCTest class MyDatabaseTests: XCTestCase { func test_full_database_content() throws { let dbQueue = try makeMyDatabase() assertInlineSnapshot(of: dbQueue, as: .dumpContent()) { """ sqlite_master CREATE TABLE player ( id INTEGER PRIMARY KEY, name TEXT NOT NULL, score INTEGER NOT NULL); player - id: 1 name: 'Arthur' score: 500 - id: 2 name: 'Barbara' score: 1000 """ } } func test_tables() throws { let dbQueue = try makeMyDatabase() assertSnapshot(of: dbQueue, as: .dumpTables(["player", "team"])) } func test_request() throws { let dbQueue = try makeMyDatabase() try dbQueue.read { db in assertSnapshot(of: Player.all(), as: .dump(db)) } } func test_sql() throws { let dbQueue = try makeMyDatabase() try dbQueue.read { db in assertSnapshot(of: "SELECT * FROM player ORDER BY id", as: .dump(db)) } } }
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4