我試圖測試我的代碼,取決於Google Analytics SDK v4。嘲笑Google Analytics(分析)v4
具體而言,我試圖模擬com.google.android.gms.analytics.Tracker
與Mockito。
Tracker tracker = Mockito.mock(Tracker.class);
收益率this error。
有什麼方法可以服用嗎?我能想到的唯一的事情就是創建我自己的包裝。
我試圖測試我的代碼,取決於Google Analytics SDK v4。嘲笑Google Analytics(分析)v4
具體而言,我試圖模擬com.google.android.gms.analytics.Tracker
與Mockito。
Tracker tracker = Mockito.mock(Tracker.class);
收益率this error。
有什麼方法可以服用嗎?我能想到的唯一的事情就是創建我自己的包裝。
我相信代碼被剔除的代碼是Tracker.class
--因爲這會實例化這個類,然後它會拋出VerifyError
。這不是您的代碼問題,但卻是Google Play服務的限制。該問題已被報告in the Robolectric project和here。
我使用SuperJugy在第二個鏈接提供的解決方案,通過插入下面我搖籃構建文件的底部:
tasks.withType(Test) {
test {
// set JVM arguments for the test JVM(s)
jvmArgs '-XX:-UseSplitVerifier'
}
}
爲了得到它在Android Studio中我的工作必須將VM選件-noverify
添加到我的測試版本配置中。
我想你可能可以使用包裝解決問題,只要包裝代碼永遠不會實例化Tracker
類。然而,這可能並不容易(或可能?),請讓我知道如果最終走上這條道路並取得成功!
您必須將其更改爲gradle build中的'jvmArgs'-noverify'' – pablisco 2016-10-17 22:32:01