Я пытаюсь, наконец, добавить тесты пользовательского интерфейса в свое приложение для Android, чтобы увеличить охват (все мои другие слои прошли надлежащую проверку, поэтому все мои ошибки теперь появляются из пользовательского интерфейса...)
Я начал использовать ActivityInstrumentationTestCase2
в качестве базового класса для модульных тестов эмулятора, а простые вещи легко проверить и сработать.
Но теперь я пытаюсь проверить Диалог, как ожидалось, и я не знаю, как это сделать.
Мой тест:
public void testOpensAboutDialogWhenAboutButtonClicked() {
final MyActivity activity = getActivity();
final Instrumentation instrumentation = getInstrumentation();
final Button aboutButton = (Button) activity.findViewById(R.id.about);
TouchUtils.clickView(this, aboutButton);
// how to test for the AboutDialog?
}
Теперь мой диалог не имеет идентификатора, поэтому я не могу получить указатель на него с помощью findViewById. Он создан с использованием доступных классов-конструкторов:
final AlertDialog about = new AlertDialog.Builder(parent)
.setTitle(parent.getString(R.string.about_title))
.setCancelable(true)
.setIcon(R.drawable.skull)
....
Любые идеи или указатели на учебные пособия?
EDIT: Чтобы ответить на комментарий Jens, я не, используя управляемые диалоги, просто создав AlertDialog и показывая его с помощью .show()