我使用Robolectric進行單元測試,我在我的項目中使用了Google Play服務。這工作得很好,直到昨天,當Google Play服務更新到新版本。我得到這個錯誤:Robolectric與新版Google Play服務的問題
java.lang.NullPointerException
at com.google.android.gms.common.GooglePlayServicesUtil.zzh(Unknown Source)
at com.google.android.gms.common.GooglePlayServicesUtil.zzd(Unknown Source)
at com.google.android.gms.common.GoogleApiAvailability.isGooglePlayServicesAvailable(Unknown Source)
at com.google.android.gms.common.api.zzg$zze.zznn(Unknown Source)
at com.google.android.gms.common.api.zzg$zzi.run(Unknown Source)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Process finished with exit code 255
看來Shadow類沒有被調用,GooglePlayServicesUtil被稱爲給出NullPointerException。有沒有人看過這個?
我甚至沒有在測試中使用Google Play服務。
NullPointerException主要是當類沒有被映射時。你什麼時候收到這個錯誤?在測試用例運行期間還是在測試之前加載應用程序配置時? – Kanishk
我知道這不是陰影。 GooglePlayServicesUtil有一個影子類,直到昨天它運行良好,它在昨天之前被遮蔽了。我試圖找出Robolectric是否依賴於特定版本的GPS,但沒有發現。 – Christine
我認爲您可以在[Roblectric]問題[此處](https://github.com/robolectric/robolectric/issues)或Android問題跟蹤器[此處](https://code.google.com/p/android/issues/list) – bjiang