Intentando probar SQLiteOpenHelper pero getWritableDatabase () lanza Null

Estoy intentando escribir una prueba junit contra mi base de datos de aplicaciones en Android Studio usando mi objeto SQLiteOpenHelper. Cada vez que golpea el método de inserción obtengo una NullPointerException. He ido de ida y vuelta entre el uso de getContext () y un mockContext I configuración, pero no dados. Tengo mi emulador en funcionamiento. ¿Puede alguien decirme por favor qué estoy haciendo mal?

public class LocationDatabaseHelperTest extends AndroidTestCase { private SQLiteDatabase testDB; private SQLiteDatabase readDB; private LocationDatabaseHelper dbh; private RenamingDelegatingContext mockContext; private ContentValues cv; /** *Sets up a mock context to initialize the * LocationDatabaseHelper object. * @throws Exception */ public void setUp() throws Exception { super.setUp(); final String prefix = "test"; mockContext = new RenamingDelegatingContext(getContext(),prefix); dbh = new LocationDatabaseHelper(mockContext); try { testDB = dbh.getWritableDatabase(); } catch(Exception ex){ ex.printStackTrace(); } readDB = dbh.getReadableDatabase(); cv = new ContentValues(); } /** *Tests that asserts LocationDatabaseHelper object instantiates. */ public void testLocationDatabaseHelper() { assertNotNull(dbh); } public void testInsert() { String id = "seattle"; float heading = (float) 20.178545; double longitude = 122.20; double lat = 47.37; float speed = (float) 65.4587; long time = System.currentTimeMillis(); LocationPackage locations = new LocationPackage(id,heading,longitude, lat,speed, time); cv.put(dbh.COLUMN_LOCATION_id, (String) locations.id); cv.put(dbh.COLUMN_LOCATION_HEADING, (float) locations.heading); cv.put(dbh.COLUMN_LOCATION_lat, (double) locations.latitude); cv.put(dbh.COLUMN_LOCATION_SPEED, (float) locations.speed); cv.put(dbh.COLUMN_LOCATION_long, (double) locations.longitude); cv.put(dbh.COLUMN_LOCATION_TIMESTAMP, (long) locations.time); testDB.insert(dbh.TABLE_LOCATION, null, cv); String selectQuery = "SELECT * FROM " + dbh.TABLE_LOCATION; Log.i(dbh.toString(), selectQuery); Cursor c = readDB.rawQuery(selectQuery, null); if(c!=null) c.moveToFirst(); String locID = c.getString(c.getColumnIndex(dbh.COLUMN_LOCATION_id)); //Log.i("LocationID: ", locID); assertEquals(locID, "userid"); //assertTrue(insertID != -1); } public void tearDown() throws Exception { super.tearDown(); //dbh.clearDatabase(); } } 

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.