2013-04-06 2 views
1

При выполнении моих robolectric тестов в IntelliJ я получаю:выполнения Исключение работает robolectric тесты IntelliJ

Warning: an error occurred while binding shadow class: ShadowGeoPoint 
Warning: an error occurred while binding shadow class: ShadowItemizedOverlay 
Warning: an error occurred while binding shadow class: ShadowMapController 
Warning: an error occurred while binding shadow class: ShadowMapActivity 
Warning: an error occurred while binding shadow class: ShadowMapView 
Warning: an error occurred while binding shadow class: ShadowOverlayItem 
WARNING: Unable to find path to Android SDK 

java.lang.RuntimeException: java.lang.NullPointerException 
    at com.xtremelabs.robolectric.res.ResourceLoader.init(ResourceLoader.java:158) 
    at com.xtremelabs.robolectric.res.ResourceLoader.setLayoutQualifierSearchPath(ResourceLoader.java:599) 
    at com.xtremelabs.robolectric.RobolectricTestRunner.setupApplicationState(RobolectricTestRunner.java:367) 
    at com.xtremelabs.robolectric.RobolectricTestRunner.internalBeforeTest(RobolectricTestRunner.java:311) 
    at com.xtremelabs.robolectric.RobolectricTestRunner.methodBlock(RobolectricTestRunner.java:278) 
    at ... 

ANDROID_HOME IST установлен, но InteliJ, кажется, не найти.

ответ

2

Установите sdk.dir в local.properties файл, выполнив следующие действия в корневой директории вашего проекта:

$ android update project -p . 

Настройка local.properties файла это решение, которое будет работать для большинства Иды, так что вам не нужно беспокоиться о передаче переменных окружения.

Я получил это от Unable to find Android SDK. Есть также несколько других вариантов, которые вы можете попробовать.

+0

Спасибо, работал отлично! – Torsten

+0

@ Торстен, не могли бы вы принять мой ответ, если бы это было полезно? –

0
  • Перейти к Run Configurations (Выполнить -> EditConfigurations ..)
  • Выберите тест с левой стороны (под JUnit)
  • На вкладке конфигурации, перейдите в раздел Переменные среды и добавить окружающую среду переменная ANDROID_HOME указывающего на свой SDK
  • Применить, построить и запустить тест снова

Примечание: вы можете добавить это в настройках по умолчанию JUnit, так что вам не придется делать для каждого тестового класса

Смежные вопросы