Android コンテンツ プロバイダーをテストしようとしています。ここで与えられたのと同様のコードを書いて、データベースに挿入してからデータベースにクエリを実行していますが、常にではなく、返されるカーソルの行が0になることがあります。何が問題なのですか?
public class MyProviderTestCase extends ProviderTestCase2<MyProvider> {
private MockContentResolver mMockResolver;
....
public MyProviderTestCase() {
super(MyProvider.class, "com.example.MyProvider");
}
protected void setUp() throws Exception {
super.setUp();
mMockResolver = getMockContentResolver();
}
protected void tearDown() throws Exception {
super.tearDown();
}
@SmallTest
public void testInsertAndUpdate() {
...
SomeObject someObject = ...;
Uri insertedUri = mMockResolver.insert(MyrProvider.URI, someObject.createContentValues());
assertNotNull(insertedUri);
Log.d("test insert and update and delete:inserteduri", insertedUri+"");
Cursor c = mMockResolver.query(MyProvider.URI, null, null, null, null);
assertNotNull(c);
assertTrue(c.moveToFirst());// This assertion fails sometimes
}
}