簡體   English   中英

Android Google Maps Test(JUnit4 + Robolectric 3.0)無法運行; 找不到資源異常

[英]Android Google Maps Test (JUnit4 + Robolectric 3.0) Fails To Run; Resource Not Found Exception

使用JUnit4和Robolectric 3.0_rc3通過SupportMapFragment測試片段,我無法運行測試。 你知道為什么嗎?

映射片段在片段的onCreateView中實例化。 測試僅包括以下內容:

MyFragment subject = new MyFragment();
SupportFragmentTestUtil.startVisibleFragment(subject);

與robolectric核心一起,我在build.gradle文件中包含了robolectric:shadows-maps和robolectric:shadows-support-v4。 我項目中的所有其他測試都能正常工作。 這是錯誤堆棧的相關部分:

android.content.res.Resources$NotFoundException: String resource ID #0x7f0c001b
    at android.content.res.Resources.getText(Resources.java:239)
    at org.robolectric.shadows.ShadowResources.getText(ShadowResources.java:358)
    at android.content.res.Resources.getText(Resources.java)
    at android.content.res.Resources.getString(Resources.java:325)
    at com.google.android.gms.common.internal.zzf.zzh(Unknown Source)
    at com.google.android.gms.common.internal.zzf.zzh(Unknown Source)
    at com.google.android.gms.dynamic.zza.zzb(Unknown Source)
    at com.google.android.gms.dynamic.zza.zzb(Unknown Source)
    at com.google.android.gms.dynamic.zza.zza(Unknown Source)
    at com.google.android.gms.dynamic.zza.zza(Unknown Source)
    at com.google.android.gms.dynamic.zza.onCreateView(Unknown Source)
    at com.google.android.gms.dynamic.zza.onCreateView(Unknown Source)
    at com.google.android.gms.maps.SupportMapFragment.onCreateView(Unknown Source)
    at com.google.android.gms.maps.SupportMapFragment.onCreateView(Unknown Source)
    at android.support.v4.app.Fragment.performCreateView(Fragment.java:1500)
    at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:938)
    at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1115)
    at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1097)
    at android.support.v4.app.FragmentManagerImpl.dispatchActivityCreated(FragmentManager.java:1895)
    at android.support.v4.app.Fragment.performActivityCreated(Fragment.java:1514)
    at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:958)
    at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1115)
    at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:682)
    at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1478)
    at android.support.v4.app.FragmentManagerImpl$1.run(FragmentManager.java:446)
    at android.os.Handler.handleCallback(Handler.java:730)
    at android.os.Handler.dispatchMessage(Handler.java:92)
    at org.robolectric.shadows.ShadowMessageQueue.dispatchMessage(ShadowMessageQueue.java:130)
    at org.robolectric.shadows.ShadowMessageQueue.access$100(ShadowMessageQueue.java:29)
    at org.robolectric.shadows.ShadowMessageQueue$1.run(ShadowMessageQueue.java:95)
    at org.robolectric.util.Scheduler.runOrQueueRunnable(Scheduler.java:230)
    at org.robolectric.util.Scheduler.postAtFrontOfQueue(Scheduler.java:98)
    at org.robolectric.shadows.ShadowMessageQueue.enqueueMessage(ShadowMessageQueue.java:114)
    at android.os.MessageQueue.enqueueMessage(MessageQueue.java)
    at android.os.Handler.enqueueMessage(Handler.java:623)
    at android.os.Handler.sendMessageAtTime(Handler.java:592)
    at android.os.Handler.sendMessageDelayed(Handler.java:563)
    at android.os.Handler.post(Handler.java:323)
    at android.support.v4.app.FragmentManagerImpl.enqueueAction(FragmentManager.java:1384)
    at android.support.v4.app.BackStackRecord.commitInternal(BackStackRecord.java:595)
    at android.support.v4.app.BackStackRecord.commit(BackStackRecord.java:574)
    at org.robolectric.util.SupportFragmentTestUtil.startVisibleFragment(SupportFragmentTestUtil.java:24)

資源ID是指名為common_google_play_services_install_text_phone的Google Play資產。 該資產在我的項目目錄中生成,並且也存在於com.google.android.gms,com.google.android.gms.location和com.google.android.gms.maps中。

任何幫助將不勝感激!

問題解決了。 在將Robolectric從2.4更新到3.0后,似乎配置已過時。 跟隨這篇文章有很大幫助:

http://evendanan.net/robolectric/unit-test/2015/04/09/migrating-to-robolectric-v3/

暫無
暫無

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

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