Я пытаюсь выполнить модульное тестирование запросов в моем приложении. База данных sqlite (большая БД, поставляемая с приложением).
Я могу легко создать и вставить / прочитать новую пустую БД в тесте junit:
@RunWith(AndroidJUnit4.class)
public class SimpleEntityReadWriteTest {
private UserDao userDao;
private TestDatabase db;
@Before
public void createDb() {
Context context = ApplicationProvider.getApplicationContext();
db = Room.inMemoryDatabaseBuilder(context, TestDatabase.class).build();
userDao = db.getUserDao();
}
@After
public void closeDb() throws IOException {
db.close();
}
@Test
public void writeUserAndReadInList() throws Exception {
User user = TestUtil.createUser(3);
user.setName("george");
userDao.insert(user);
List<User> byName = userDao.findUsersByName("george");
assertThat(byName.get(0), equalTo(user));
}
}
Но как я могу прочитать существующую непустую БД?
Я хотел бы сделать что-то вроде SQLiteDatabase myDb = SQLiteDatabase.openDatabase(DB_PATH,null, SQLiteDatabase.OPEN_READWRITE);