テスト
一部のテスト(マイグレーションの検証など)では、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
// When your test needs a driver
@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') {
// Override the version of sqlite used by sqlite-driver to match Android API 23
version { strictly('3.8.10.2') }
}
}