На всякий случай, если кто-нибудь еще наткнется на этот пост. У меня была проблема с тем, что вам нужен экземпляр Activity, чтобы вы могли передать контекст в OpenHelperManager.getHelper (android.content.Context context, Class openHelperClass) метод.
Чтобы обойти это, я создаю тестовый класс ActivityInstrumentationTestCase2 для предоставления контекста. Вы можете использовать MockContext , но я понимаю, что это проблематично. Этот способ просто глуп, вроде:)
На данный момент я не беспокоюсь о тестировании какой-либо функциональности Activity, только о функциональности базы данных.
public class TestActivity extends ActivityInstrumentationTestCase2<MainFragment> {
public TestActivity() {
super(MainFragment.class);
}
protected void setUp() throws Exception {
super.setUp();
//DatabaseHelper.class is the extended OrmLiteSqliteOpenHelper class
OpenHelperManager.getHelper(getActivity(), DatabaseHelper.class);
}
protected void tearDown() throws Exception {
OpenHelperManager.releaseHelper();
super.tearDown();
}
public void testDetailDiscount() {
//Example code using an entity class that encapsulates ormlite functionality
double total = 95 * 5;
DocumentDetail detail = DocumentDetail.create(getActivity());
assertEquals(total, detail.getTotal());
}
}
Надеюсь, это поможет