Ложный менеджер пакетов в тестах Android - PullRequest
2 голосов
/ 22 марта 2019

Я пишу инструментальный тест для чего-то вроде этого:

PackageManager packageManager = getActivity().getPackageManager();
List<ResolveInfo> yandexApps = packageManager.queryIntentActivities(yandexIntent, 0);

if (!yandexApps.isEmpty()) {
    startActivity(yandexIntent);
} else {
    Intent playMarketYandexIntent = new Intent(Intent.ACTION_VIEW);
    playMarketYandexIntent.setData(Uri.parse("market://details?id=ru.yandex.yandexmaps"));
    startActivity(playMarketYandexIntent);
}

Это приложение взаимодействует с другим приложением, и если приложение для взаимодействия не было установлено, поведение моего приложения меняется, поэтому я хочу сделать что-то вродеmocking packageManager.queryIntentActivities (yandexIntent, 0).

Я видел решения для модульных тестов, но как насчет инструментальных тестов?Может быть, есть какие-то решения с участием Espresso или UIautomator?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...