Android ProviderTestCase2:在运行模式下失败,在调试模式下通过
我正在使用ProviderTestCase2超级类测试数据库。以下是我的代码片段:Android ProviderTestCase2:在运行模式下失败,在调试模式下通过,android,junit,testcase,Android,Junit,Testcase,我正在使用ProviderTestCase2超级类测试数据库。以下是我的代码片段: public class MyProviderTest extends ProviderTestCase2<MyProvider>{ private static MockContentResolver resolver; private static IsolatedContext context; public MetaDataProviderTest() {
public class MyProviderTest extends ProviderTestCase2<MyProvider>{
private static MockContentResolver resolver;
private static IsolatedContext context;
public MetaDataProviderTest() {
super(MyProvider.class, Provider.AUTHORITY);
}
@Override
protected void setUp() throws Exception {
try{
super.setUp();
resolver = getMockContentResolver();
} catch(Exception e){
}
}
}
public void testfirst(){
Cursor cursor = resolver.query(ProviderContract.Channels.CHANNEL_URI,null,null,null,null);
....
}
}
当我调试上面的代码时,我得到了通过的结果。当我运行它时,我得到Null游标,这意味着并没有像channel这样的表。请帮忙解决这个问题。我哪里出错了?有比赛条件。在设置中引入延迟。很好用。但我不知道这是否是精确的解决方案。您应该编写代码:
MockContentResolver.addProvider(authority, yourprovider);
那就试试吧