Ответ 1
Если вы извлеките метод generateRandomKey() в отдельный класс, вы можете вставить (как вручную, так и используя что-то вроде RoboGuice) контролируемую версию этого класса в свой тест, чтобы "случайный" ключ, сгенерированный при запуске Robolectric известное значение. Но все же случайный в производственном коде.
Затем вы можете поймать намерение, которое ваша деятельность создает и тестирует, если "ключ" содержит ожидаемое тестовое значение.
Однако, чтобы ответить на ваш вопрос напрямую...
Когда я тестирую, было ли сгенерировано намерение (в этом случае нажатие кнопки) и указывает на правильную цель, я использую
public static void assertButtonClickLaunchesActivity(Activity activity, Button btn, String targetActivityName) {
btn.performClick();
ShadowActivity shadowActivity = shadowOf(activity);
Intent startedIntent = shadowActivity.getNextStartedActivity();
ShadowIntent shadowIntent = shadowOf(startedIntent);
assertThat(shadowIntent.getComponent().getClassName(), equalTo(targetActivityName));
}