我试图测试我的代码,这取决于Google Analytics SDK v4。
具体来说,我试图用Mockito来模拟com.google.android.gms.analytics.Tracker
。Tracker tracker = Mockito.mock(Tracker.class);
产生this error。
有什么办法可以采取吗?我唯一能想到的就是自己做包装。
最佳答案
我相信错误截取的代码是Tracker.class
-因为这将实例化类,进而抛出VerifyError
。这不是代码的问题,而是google play服务的一个限制。该问题已被报道in the Robolectric project和here。
我使用了superjugy在第二个链接中提供的解决方案,在gradle构建文件的底部插入了以下内容:
tasks.withType(Test) {
test {
// set JVM arguments for the test JVM(s)
jvmArgs '-XX:-UseSplitVerifier'
}
}
为了让它在android studio中工作,我必须将vm选项
-noverify
添加到我的测试构建配置中。我认为您可以使用包装器来解决这个问题,只要包装器代码从不实例化
Tracker
类。然而,这可能并不容易(或可能?),请让我知道如果最终走上这条道路并成功!