2012-11-05 46 views
1

我使用ProviderTestCase2超類測試數據庫。這裏是我的代碼片段:Android ProviderTestCase2:在運行模式下失敗,在調試模式下通過

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光標暗示沒有像頻道這樣的表。請幫助解決這個問題。我哪裏做錯了?

回答

0

有競爭條件。在Setup()中引入延遲。它工作正常。但我不知道這是否是確切的解決方案。

0

你應該寫代碼:

MockContentResolver.addProvider(authority, yourprovider); 

然後有一個嘗試

相關問題