Ошибка при попытке создать тесты в Android при использовании API Google - PullRequest
2 голосов
/ 29 декабря 2011

Я пытаюсь добавить некоторые модульные тесты для моего приложения в Intellij.Поскольку мое приложение использует Карты Google, для моей цели сборки установлено "API Google (2.1)".Мой проект компилируется и работает нормально, но когда я пытаюсь создать тесты, используя встроенный инструмент Intellij или инструмент командной строки, я получаю эту ошибку:

Найден основной пакет проекта: com.projectНайдена основная деятельность по проекту: .mainActivityОшибка: невозможно разрешить основную цель проекта "Google Inc. \: Google API \: 7".Возможно, вы захотите установить платформу в свой SDK.

Есть идеи?

Ответы [ 4 ]

0 голосов
/ 03 января 2012

Хорошо, я исправил это, и это было заведомо несовершенное исправление.Я вручную отредактировал project.properties, чтобы изменить цель на android-7, а затем создал свой тестовый проект с помощью утилиты командной строки.С тех пор цель вернулась к правильной цели, и мои тесты теперь работают нормально.Спасибо всем за помощь.

0 голосов
/ 29 декабря 2011

У вас установлен Android SDK, но отдельные API входят в отдельные пакеты.Просто запустите Android-инструмент в SDK и установите недостающие.Что касается тестирования, я бы порекомендовал придерживаться обычного JUnit и использовать mocking framework (jMockit - хороший выбор)

0 голосов
/ 30 декабря 2011

Не совсем прямой ответ на вопрос, но FWIW, я использовал Robolectric в проектах GMaps в IntelliJ.Работает как шарм: просто убедитесь, что вы поместили robolectric jar в верхнюю часть зависимостей вашего модуля и отметили его как зависимость «Test», чтобы он не компилировался в приложение.

0 голосов
/ 29 декабря 2011

Ваши тесты должны расширять android.test.InstrumentationTestCase.Пожалуйста, обратитесь к учебным пособиям для получения более подробной информации

(не уверен, что делает встроенный инструмент Intellij - создает ли он тестовый проект Android?)

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