Тесты выполняются через maven и adb, но не IntelliJ - почему? - PullRequest
2 голосов
/ 03 февраля 2012

Я работаю над проектом, определенным с помощью maven, и я могу успешно запустить сценарий maven для создания приложения и запустить автоматические (junit 3.8.2) тесты на устройстве с использованием инструментов.

Аналогично, я могу использовать adb для успешного запуска тестов инструментов.

Однако запуск инструментальных тестов IntelliJ завершается неудачно с этим:

Running tests
Test running startedTest running failed: Instrumentation run failed due to 'java.lang.ClassNotFoundException'
Empty test suite.

Logcat показывает не найденный класс как org.junit.Test. Проект IntelliJ был создан путем импорта корневого pom, и в остальном работает нормально. Мне просто нужно было создать конфигурацию запуска для тестов, указав инструментального бегуна.

Я пробовал на нескольких устройствах, и все они дают одинаковый результат.

Я ожидаю, что класс Junit Test будет в структуре ОС на устройстве, поэтому я не понимаю, почему он не найден. Я попытался установить зависимость junit в IntelliJ от Provided to Compile, но это не имеет значения.

Что я пропустил?

1 Ответ

0 голосов
/ 12 июля 2013

Хорошо, это старый вопрос, однако, скорее всего, у вас будет другой путь к классам в maven по сравнению с intelliJ. Вы можете легко решить эту проблему, перейдя в структуру проекта intelliJ (Файл -> Структура проекта или Ctrl + Alt + Shift + S).

В разделе «Параметры проекта» нажмите «Библиотеки» и вручную добавьте недостающую библиотеку.

Мне кажется странным, что IntelliJ не обнаруживает зависимости maven. В конце концов, если Maven запускает его, то же самое следует делать и с IntelliJ - у него лучшая интеграция с Maven, доступная в IDE, и ОЧЕНЬ ОЧЕНЬ лучше, чем у Eclipse. Так что ваша проблема заставляет меня чувствовать, что что-то еще является основной причиной ...

Может быть, вы можете спросить людей IntelliJ? Более подробная информация с вашей стороны может позволить нам дать лучший отзыв ...

...