我正在尝试测试依赖于Google Analytics SDK v4的代码。
具体地说,我试图用Mockito模拟com.google.android.gms.analytics.Tracker。
Tracker tracker = Mockito.mock(Tracker.class);产生this error。
有什么方法可以采取吗?我唯一能想到的就是创建我自己的包装器。
发布于 2014-11-13 09:02:26
我相信在错误中截取的代码是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类。然而,这可能并不容易(或可能?),请让我知道如果最终走上这条道路并成功!
https://stackoverflow.com/questions/26305214
复制相似问题