У меня есть приложение, которое использует ContentProvider для обслуживания данных вместо прямого доступа к базе данных.Приложение работает должным образом, но у меня есть проблема с модульными тестами: как я могу заставить ContentProvider использовать тестовую базу данных, а не «живую»?Если бы я не использовал ContentProvider, я мог бы передать другое имя базы данных Конструктору моего подкласса SQLiteOpenHelper
, но теперь база данных создается с вызовом onCreate () в моем ContentProvider:
@Override
public boolean onCreate()
{
UKMPGDataProvider.init(getContext(), Constants.DATABASE_NAME);
return (UKMPGDataProvider.getWritableDatabase() == null) ? false : true;
}
Как видите, имя базы данных жестко закодировано.
Есть ли способ передать имя теста в ContentProvider?