簡體   English   中英

運行時異常運行robolectric測試IntelliJ

[英]Runtime Exception running robolectric tests IntelliJ

在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似乎找不到它。

通過在項目的根目錄中運行以下sdk.dir ,在local.properties文件中設置sdk.dir

$ android update project -p .

設置local.properties文件是一種適用於大多數IDE的解決方案,因為您不必擔心會傳遞環境變量。

我從Unable to find Android SDK獲得此信息。 您也可以嘗試其他幾種選擇。

  • 轉到運行配置(運行-> EditConfigurations ..)
  • 從左側選擇測試(在JUnit下)
  • 在“配置”標簽中,轉到“環境變量”部分,然后添加一個指向您的SDK的環境變量ANDROID_HOME
  • 再次應用,構建並運行測試

注意:您可以在JUnit默認設置中添加它,這樣就不必為每個測試類都做

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM