我试图测试我的代码,取决于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