I am trying to unit test this class:
public class TestDatabaseOpenHelper extends SQLiteOpenHelper {
public TestDatabaseOpenHelper(Context context) {
super(context, "mydatabase", null, 1);
}
@Override
public void onCreate(SQLiteDatabase db) { }
@Override
public void onUpgrade(SQLiteDatabase db, int var2, int var3) { }
public SQLiteDatabase getDatabase() {
SQLiteDatabase db = this.getWritableDatabase();
return db;
}
}
This is my unit test:
@RunWith(MockitoJUnitRunner.class)
public class TestTest {
@Mock
private SQLiteDatabase databaseMock;
@Test
public void test() {
Context context = Mockito.mock(Context.class);
TestDatabaseOpenHelper databaseHelper = new TestDatabaseOpenHelper(context);
Mockito.when(databaseHelper.getWritableDatabase()).thenReturn(databaseMock);
databaseHelper.getDatabase();
}
}
When I run it, I get this error: "java.lang.RuntimeException: Method getWritableDatabase in android.database.sqlite.SQLiteOpenHelper not mocked"
Why do I get the error?
Aucun commentaire:
Enregistrer un commentaire