Как выполнить тесты Java на коде Android - PullRequest
3 голосов
/ 31 августа 2011

Я хочу выполнить класс Java для тестирования частей функциональности приложения Android (из модуля Java) для чтения / записи данных в файл.Если я выполню в модуле Android, я получу заглушку!ошибки (Android SDK).Если я устанавливаю или эмулирую, это будет очень медленно (я тестирую только определенную часть).

Если я включаю модуль Android как Зависимость модуля, IntelliJ по-прежнему создает файлы Android, и я получаю заглушку!ошибка во время исполнения.Но если я только включаю каталог классов и отмечаю их как Предоставленные, я получаю ошибки при входе в систему.называется.

Есть ли способ запустить простые тесты Java на компонентах приложения Android (не используя Activity и т. д.), используя Java SDK и не создавая специфичные для Android файлы?

Ответы [ 3 ]

0 голосов
/ 31 августа 2011

Хотя вы можете использовать Robolectric или другие методы для тестирования на хосте JVM, стоит заметить, что это следует использовать только как обходной путь во время цикла разработки, чтобы избежать длительного ожидания выполнения тестов на эмуляторе или устройстве и никогда не заменяйте тестирование на реальной платформе, поскольку несовместимости между Dalvik и JavaSE временем выполнения могут повлиять на точность тестов.

Новейшие устройства, представляющие более мощные процессоры, в большинстве случаев могут запускать тесты с очень разумной скоростью, поэтому, вероятно, нет необходимости искать другие решения.

0 голосов
/ 18 февраля 2012

Кажется исправленным в более поздних выпусках IntelliJ 10 - не удалось воспроизвести проблему

0 голосов
/ 31 августа 2011

Вам необходимо либо провести тестирование на своих инструментах и ​​запустить их на устройстве (или в эмуляторе), либо использовать Roboelectric , он обеспечивает замену классов SDK-jar-заглушек.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...