KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I'm trying to test a simple SQLite database using Robolectric in my Android application. I'm putting in some values, but when reading them back 0 rows are returned. I'm using the SQLiteOpenHelper class to access the database. // RequestCache extends SQLiteOpenHelper RequestCache cache = new RequestCache(activity); SQLiteDatabase db = cache.getWritableDatabase(); // Write to DB ContentValues values = new ContentValues(); values.put(REQUEST_TIMESTAMP, TEST_TIME); values.put(REQUEST_URL, TEST_URL); db.insertOrThrow(TABLE_NAME, null, values); // Read from DB and compare values Vector<Request> matchingRequests = new Vector<Request>(); db = cache.getReadableDatabase(); Cursor cursor = db.query(TABLE_NAME, SEARCH_URL_RETURN_COLUMNS, SEARCH_URL_WHERE, new String[] {url}, null, null, ORDER_BY, null); int id = 0; while(cursor.moveToNext()) { long timestamp = cursor.getLong(0); Request request = new Request(id++); request.setUrl(url); request.setCreationTimestamp(new Date(timestamp)); matchingRequests.add(request); } // Assert that one row is returned assertThat(matchingRequests.size(), equalTo(1)); // fails, size() returns 0 When debugging the code outside robolectric this works as expected. Am I doing anything wrong or is it not possible to test SQlite databases using Robolectric?
Tags (comma-separated)
Save Edits
Cancel