Мне нужно определить во время выполнения из кода, если приложение запускается в TestInstrumentation.
Я мог бы инициализировать тестовую среду с помощью некоторой переменной env/system, но конфигурация запуска Eclipse ADK не позволила бы мне это сделать.
Стандартные свойства и окружающая среда Android не имеют никаких данных об этом. Более того, они одинаково одинаковы, независимо от того, запускается ли приложение регулярно или тестируется.
Это может быть решение: Можно ли узнать, работает ли приложение Android как часть контрольного теста, но поскольку я не тестирую действия, все предлагаемые методы там не сработают. Этот метод ActivityManager.isRunningInTestHarness() использует это под капотом:
SystemProperties.getBoolean("ro.test_harness")
который всегда возвращает false в моем случае. (Для работы со скрытым классом android.os.SystemProperties я использую отражение).
Что еще я могу сделать, чтобы попытаться определить внутри приложения, если он находится под тестированием?