Я пытаюсь написать функциональные тесты для приложения Android. Проблема в том, что большинство изученных мной фреймворков функционального тестирования (calabash-android, robotium) имеют ограничение на количество активностей из разных приложений, которые можно тестировать в одном тесте. Поэтому, если в одном рабочем процессе мне нужно выбрать некоторые контакты из средства выбора контактов Android, я не могу протестировать весь этот поток, потому что действие средства выбора контактов является частью приложения контактов Android, а платформа не может протестировать действие из моего приложения и приложения контактов. в то же время.
Одно из возможных решений, которое придумала моя команда, заключалась в том, чтобы имитировать вызов активности контактов, чтобы вернуть фиктивное намерение с контактной информацией, чтобы можно было протестировать рабочий процесс нашего приложения. Мы пытаемся использовать mockito для достижения этой цели. Однако я застрял довольно рано. Вот что я пытаюсь сделать
MyActivity mockActivity = mock(MyActivity.class);
when(mockActivity.startActivityForResult(<?>,anyInt())).thenReturn(fakeIntent);
Я не уверен, что указать в первом параметре во второй строке. Я пробовал Intent.class и android.content.Intent.class, однако он выдает ошибку компиляции. Если кто-то работал с насмешливыми действиями с использованием mockito, помощь будет принята с благодарностью.
P.S. - Если я правильно понимаю, насмешки используются больше в модульном тестировании, чем в функциональном тестировании. Таким образом, эти тесты будут скорее гибридными. Если у кого-то есть лучшее предложение о том, как провести эти функциональные тесты на Android, я весь слушаю.