私はContentProviderを使ってデータベースに直接アクセスするのではなく、データを提供するアプリケーションを持っています。アプリケーションは期待どおりに動作していますが、単体テストに問題があります。ContentProviderに「ライブ」ではなくテストデータベースを使用させるにはどうすればよいですか?私はのContentProviderを使用していなかった場合、私は私のSQLiteOpenHelper
sublassのコンストラクタに別のデータベース名を渡すこともできますが、今のデータベースは、私のContentProviderでのonCreate()の呼び出しで作成されます。ContentProvidersとデータベースを使ったAndroidのユニットテスト
@Override
public boolean onCreate()
{
UKMPGDataProvider.init(getContext(), Constants.DATABASE_NAME);
return (UKMPGDataProvider.getWritableDatabase() == null) ? false : true;
}
することができますようにデータベース名はハードコードされています。
テスト名をContentProviderに渡す方法はありますか?
ProviderTestCase2では、実際のAndroid Contact ContentProviderを使わずに、MyListContactActivityの動作をテストすることは可能ですか?動作中のテストコードはありますか? – sancho21