Skip to content

テスト

一部のテスト(マイグレーションの検証など)では、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') }
  }
}