Step #3: Supporting a Test Database
Right now, ToDoDatabase
is set up to have a database file named stuff.db
. For our “production” code, that is what we want. For tests, though, it is very convenient to have an in-memory database:
- Tests run faster
- All of our test stuff gets cleared between tests, as a side-effect of how Room and in-memory databases work
With that in mind, add this function to the companion object
in ToDoDatabase
:
fun newTestInstance(context: Context) =
Room.inMemoryDatabaseBuilder(context, ToDoDatabase::class.java).build()
This is almost identical to the newInstance()
function that already exists. However, newTestInstance()
uses inMemoryDatabaseBuilder()
instead of databaseBuilder()
, to create an in-memory SQLite database.
Prev Table of Contents Next
This book is licensed under the Creative Commons Attribution-ShareAlike 4.0 International license.