Мне нужно написать тест для действия, которое либо вставляет, либо обновляет базу данных в зависимости от того, что отправлено в качестве дополнений в намерении. Чтобы проверить это действие, мне сначала нужно настроить базу данных, чтобы избежать дублирования ключей и других проблем, связанных с базой данных.
Проблема, чтобы настроить базу данных, мне нужен контекст, и единственный способ узнать, как получить контекст, - это вызвать getActivity (), но затем он прочитает базу данных до того, как будет настроена активность.
Итак, используя подкласс ActivityInstrumentationTestCase2, возможно ли настроить базу данных перед инициализацией действия?
Псевдо-экзамен того, что я хотел бы сделать.
public void testActivityWithDatabaseEmpty(){
//Setup database
SQLLiteDatabase myDb = getDatabase(); // how to do this in a test without first calling the activity?
emptyTestTable(myDb);
//Setup intent
Intent intent = getIntentWithNonExistingKey();
setActivityIntent(intent);
//Get activity
MyActivity activity = getActivity();
Button button = activity.findById(R.id.button);
assertAreEquals("", button.getText);
}
Заранее спасибо
Роланд