Похоже, вам нужно предоставить оболочку для SharedPreferences, которая предоставляет ваш собственный интерфейс общих настроек. Э.Г.
public interface PreferencesProvider {
String getStringValue(String key);
}
Каким бы ни был ваш тестируемый класс (например, Activity), можно использовать конкретную реализацию PreferencesProvider, которая вызывает PreferenceManager.getDefaultSharedPreferences ... и т. Д. В вашем тестовом классе вы можете заменить поддельную конкретную реализацию так, чтобы она возвращала все ваши тесты.
Таким образом, ваш поставщик предпочтений отделен от класса вашего приложения, и тестирование становится простым. На самом деле ваши тесты никогда не должны касаться фактических настроек, сохраненных на вашем телефоне.
Однако для реализации этого необходим некоторый механизм внедрения зависимостей, такой как RoboGuice.