Я написал подсистему реального времени для Android, который я хотел бы протестировать на рабочем столе. Я хотел бы запускать тесты с помощью инструмента командной строки, который я создал. Подсистема зависит от Android следующим образом:
- android.os.Looper
- android.os.Handler (включая Handler.Callback)
- android.os.Message
- android.util.Журнал
Мне нужно заглушить эти классы. Robolectric заглушает эти классы, но очевидно, не позволяет использовать собственные экземпляры Looper. Если кто-то не укажет мне на функциональные заглушки, я планирую написать их сам. Я бы предпочел избежать сложности написания тестовой программы для полного эмулятора Android.
Как заставить Android Studio использовать мои заглушки для этих классов в моей сборке инструментов? Я не хочу модифицировать подсистему для динамического получения классов, которые она должна использовать, из-за боязни ограничить оптимизацию или сделать код излишне беспорядочным. (Но я готов обернуть android.util.Log.)
Спасибо за вашу помощь!
@MockInjects
может быть решение, если Mockito не навязывает слишком много фреймворка. Изучая это, но я все равно хотел бы получить прямой ответ! - person Joe Lapp   schedule 13.01.2017