I am new to junit testing.
Can anyone help me , how to test my SQLiteOpenHelper
class.
Means what classes I have to implement and how to test my db and tables. I am using Eclipse IDE.
As of API Level 24, RenamingDelegatingContext
is deprecated. Another thread suggests to use Robolectric's RuntimeEnvironment.application
as described in this Medium article.
For a simple DatabaseHandler:
public class MyDatabase extends SQLiteOpenHelper { private static final String DATABASE_NAME = "database.db"; private static final int DATABASE_VERSION = 1; public MyDatabase(Context context){ super(context, DATABASE_NAME, null, DATABASE_VERSION); } @Override public void onCreate(SQLiteDatabase db){ // some code } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { // some code } }
I created an AndroidTestCase:
public class DatabaseTest extends AndroidTestCase { private MyDatabase db; @Override public void setUp() throws Exception { super.setUp(); RenamingDelegatingContext context = new RenamingDelegatingContext(getContext(), "test_"); db = new MyDatabase(context); } @Override public void tearDown() throws Exception { db.close(); super.tearDown(); } //According to Zainodis annotation only for legacy and not valid with gradle>1.1: //@Test public void testAddEntry(){ // Here I have my new database which is not connected to the standard database of the App } }
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With