OOTB, Robolectric не очень хорошо поддерживает локали. Поэтому, если ваше приложение зависит от локалей (как и многие приложения, если они корректно настроены), это может стать настоящей головной болью. Короче говоря, я создал свои собственные ShadowFooGeocoder и ShadowFooAddress, которые позволяют мне имитировать желаемую локаль. По сути, это повторная реализация существующих теней.
Однако, когда я привязываю свой класс как таковой: bindShadowClass(ShadowFooGeocoder.class), это прекрасно работает. Во время выполнения возвращается правильная тень. Проблема в том, что я хочу настроить симуляции на этом объекте, но не знаю, как это сделать. shadowOf(instance), где instance является внедренным GeoCoder, возвращает ShadowGeoCoder. Я пробовал работать напрямую с ShadowWrangler, но он также возвращает ShadowGeocoder.
Как я могу получить свой затененный класс, который я связал через вызов bindShadowClass(...), чтобы я мог установить свои ожидания (симуляции)?
Примечание. Это репост того же вопроса в группе Robolectric здесь. . Я написал здесь, потому что мой уровень успеха в том, чтобы заставить кого-либо ответить на вопросы в группе, довольно низок. Я надеюсь на лучший результат здесь.