Я пытаюсь сделать несколько юнит-тестов для моей бизнес-логики.
Данные читаются и записываются в базу данных Room, поэтому логика зависит от того, что находится внутри моей базы данных.
Я могу легко buildInMemoryDatabase
и проверить всю логику, но используя инструментальные тесты, которые медленные и требуют подключения устройства .
Я хочу запускать модульные тесты только там, где я заменяю RoomRepository
другой реализацией Repository
interface
class RoomRepository(
private val database: RoomDatabase //actual room database
): Repository {
override fun getFooByType(type: Int): Maybe<List<Item>> {
return database.fooDao()
.getFooByType(type)
.map { names ->
names.map { name -> Item(name) }
}
.subscribeOn(Schedulers.io())
}
}
Может быть, есть способ запустить Room sqlite на хост-компьютере?
Может быть, есть другое решение?