テスト
一部のテスト(マイグレーションの検証など)では、AndroidドライバーをJVMドライバーに置き換えたい場合があります。これにより、Androidエミュレーターや実機を必要とせずに、データベースに関連するコードをテストできるようになります。その場合は、JVM用のSQLiteドライバーを使用します。
kotlin
dependencies {
testImplementation("app.cash.sqldelight:sqlite-driver:2.1.0")
}groovy
dependencies {
testImplementation "app.cash.sqldelight:sqlite-driver:2.1.0"
}kotlin
// テストでドライバーが必要な場合
@Before fun before() {
driver = JdbcSqliteDriver(JdbcSqliteDriver.IN_MEMORY)
Database.Schema.create(driver)
}(独自のものを配布するのではなく)Androidに同梱されているSQLiteを使用している場合は、sqlite-jdbcのバージョンをAndroidのminSdkVersionに一致するものにオーバーライドできます。たとえば、API 23の場合はSQLite 3.8.10.2を使用します。
groovy
dependencies {
testImplementation('org.xerial:sqlite-jdbc') {
// Android API 23に合わせるため、sqlite-driverが使用するsqliteのバージョンをオーバーライドする
version { strictly('3.8.10.2') }
}
}