Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java ProviderTestCase子类的setUp()方法中的NPE_Java_Android_Testing_Android Contentprovider - Fatal编程技术网

Java ProviderTestCase子类的setUp()方法中的NPE

Java ProviderTestCase子类的setUp()方法中的NPE,java,android,testing,android-contentprovider,Java,Android,Testing,Android Contentprovider,我当前在我的ProviderTestCase2中有以下setUp()方法。在调用newResolverWithContentProviderFromSql()之后,它在Android API的深处抛出一个NPE。我做错了什么?我如何修复它 public void setUp() throws IllegalAccessException, InstantiationException { this.resolver = newResolverWithContentProviderFrom

我当前在我的
ProviderTestCase2
中有以下
setUp()
方法。在调用
newResolverWithContentProviderFromSql()
之后,它在Android API的深处抛出一个NPE。我做错了什么?我如何修复它

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()
,但未调用
super.setUp()
,因此测试用例未完成,原因如下:

此框架由基类“setUp()自动设置 方法。如果重写此方法,则必须按以下方式调用超级方法: 重写中的第一条语句


您是否正在覆盖
ProviderTestCase2
中的
setUp()
?如果是这样的话,你应该调用
super
。@A--C/facepalm谢谢