В настоящее время у меня есть setUp()
метод в моем ProviderTestCase2
. Он выдает NPE в глубину Android API после вызова newResolverWithContentProviderFromSql()
. Что я делаю неправильно и как это исправить?NPE в методе setUp() для подкласса ProviderTestCase
public void setUp() throws IllegalAccessException, InstantiationException {
this.resolver = newResolverWithContentProviderFromSql(this.getMockContext(),
"test.", BaseballCardProvider.class,
BaseballCardContract.AUTHORITY,
BaseballCardSQLHelper.DATABASE_NAME,
BaseballCardSQLHelper.SCHEMA_VERSION, CREATE_TABLE
+ INSERT_DATA);
}
Вот трассировки стека для справки:
java.lang.NullPointerException
at android.test.RenamingDelegatingContext.openOrCreateDatabase(RenamingDelegatingContext.java:146)
at android.content.ContextWrapper.openOrCreateDatabase(ContextWrapper.java:215)
at android.database.DatabaseUtils.createDbFromSqlStatements(DatabaseUtils.java:1315)
at android.test.ProviderTestCase2.newResolverWithContentProviderFromSql(ProviderTestCase2.java:219)
at bbct.android.common.provider.test.BaseballCardProviderTest.setUp(BaseballCardProviderTest.java:44)
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:190)
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:175)
at android.test.InstrumentationTestRunner.onStart(InstrumentationTestRunner.java:555)
at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1584)
Вы переопределяете 'setUp()' в 'ProviderTestCase2'? Вы должны позвонить в 'super', если это так. –
@ A - C/facepalm спасибо –