- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我将 Powermock 1.6.3 与 Javassist 3.18.2-GA、Mockito 1.10.19、JUnit 4.11 和 JDK1.8 一起使用。我没有编写测试或测试类,因此,我对这些库不是很熟悉。在 JDK1.7 上构建没有任何问题。我被分配了将应用程序升级到 JDK1.8 的任务,那是我第一次遇到这个错误。此外,错误仅发生在那些模拟具有静态方法的类或具有调用静态方法的方法的测试类中(使用 PowerMockito.mockStatic() 方法的测试类)。我花了很多时间研究这个问题,我觉得我已经走到了死胡同。任何帮助都感激不尽。这是错误的堆栈跟踪:
java.lang.NoSuchMethodError: javassist.CtMethod.hasAnnotation(Ljava/lang/Class;)Z
at org.powermock.core.transformers.impl.TestClassTransformer.removeTestAnnotationsForTestMethodsThatRunOnOtherClassLoader(TestClassTransformer.java:185)
at org.powermock.core.transformers.impl.TestClassTransformer.transform(TestClassTransformer.java:198)
at org.powermock.core.classloader.MockClassLoader.loadMockClass(MockClassLoader.java:250)
at org.powermock.core.classloader.MockClassLoader.loadModifiedClass(MockClassLoader.java:179)
at org.powermock.core.classloader.DeferSupportingClassLoader.loadClass(DeferSupportingClassLoader.java:70)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:348)
at org.powermock.modules.junit4.common.internal.impl.JUnit4TestSuiteChunkerImpl.createDelegatorFromClassloader(JUnit4TestSuiteChunkerImpl.java:145)
at org.powermock.modules.junit4.common.internal.impl.JUnit4TestSuiteChunkerImpl.createDelegatorFromClassloader(JUnit4TestSuiteChunkerImpl.java:40)
at org.powermock.tests.utils.impl.AbstractTestSuiteChunkerImpl.createTestDelegators(AbstractTestSuiteChunkerImpl.java:244)
at org.powermock.modules.junit4.common.internal.impl.JUnit4TestSuiteChunkerImpl.<init>(JUnit4TestSuiteChunkerImpl.java:61)
at org.powermock.modules.junit4.common.internal.impl.AbstractCommonPowerMockRunner.<init>(AbstractCommonPowerMockRunner.java:32)
at org.powermock.modules.junit4.PowerMockRunner.<init>(PowerMockRunner.java:34)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at org.junit.internal.builders.AnnotatedBuilder.buildRunner(AnnotatedBuilder.java:29)
at org.junit.internal.builders.AnnotatedBuilder.runnerForClass(AnnotatedBuilder.java:21)
at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59)
at org.junit.internal.builders.AllDefaultPossibilitiesBuilder.runnerForClass(AllDefaultPossibilitiesBuilder.java:26)
at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59)
at org.junit.internal.requests.ClassRequest.getRunner(ClassRequest.java:26)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:51)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:123)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:104)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.apache.maven.surefire.util.ReflectionUtils.invokeMethodWithArray(ReflectionUtils.java:164)
at org.apache.maven.surefire.booter.ProviderFactory$ProviderProxy.invoke(ProviderFactory.java:110)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:175)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcessWhenForked(SurefireStarter.java:107)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:68)
附言我已经尝试了 Javassist 和 Powermock 的许多不同组合,但它们都导致了错误。
最佳答案
Power Mock 1.6.3 是 compiled against Javassist 3.20.0-GA .如果这导致 NoSuchMethodError
,请确保您的类路径中没有其他库需要较新版本的 Javassist。
关于java - 带有 Javassist 3.18.2-GA 的 Powermock 1.6.3 产生 NoSuchMethodError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39417651/
似乎在上周四/周五发生了一些变化,指标如下:ga:adsenseAdsViewed、ga:adsenseAdsClicks、ga:adsenseRevenue、ga:adsenseAdUnitsVie
ga:entranceBounceRate 和 ga:visitBounceRate 有什么区别? 我从谷歌分析中找到了以下定义,比如 ga:visitBounceRate 单页访问的百分比(即访问
我正在使用 GA API 运行超过 1 年数据的两个查询: 查询1: Get apiQuery = analytics.data().ga() .get("ga:" + profileId, "2
我已经尝试了几天,但没有任何效果。无论我做什么,这些事件都不会被捕获。 我在顶部导入ReactGA import ReactGA from "react-ga"; 导入后初始化它 ReactGA.in
如果未声明 ga,以下 javascript 语句将导致错误。 if (ga) { alert(ga); } 错误是: ga is not defined 看起来未声明的变量无法在 bool 表
您好,我正在尝试使用 GA API 获取特定月份的 Google/自然流量。使用this 我尝试将维度设置为 ['month', 'year' ] 和 ['sourceMedium'],使用指标作为
我对谷歌分析的问题已经困扰我一段时间了,如下:自从我在网站中添加了第三方 iframe 后,分析推荐就变得疯狂,首先他们添加了虚假访问,但通过添加过滤器解决了这个问题。但引荐仍然没有像以前那样注册哪个
我的网站使用 Google Tag Manager 跟踪浏览量,并使用 ga('require', 'ec') 在某些页面中加载增强型电子商务插件,但有一个错误: Uncaught Reference
我正在尝试将 React-GA 添加到我的 create-react-app 项目中(它已被弹出),并且出现以下控制台警告。 [react-ga] gaTrackingID is required i
我正在页面的头部运行谷歌分析。为了提高性能,我在正文末尾加载其他代码,例如 facebook 或 jQuery 业务逻辑异步延迟。 如果 ga('set', 'contentGroup1', 'Cat
谁能解释一下: 1. ga、GA 和 Final Hibernate 版本之间的区别? 2.我应该使用 maven 存储库还是 jboss nexus 存储库? 3.为什么最新的兼容性矩阵 (http
这是网站 - http://www.ssangyong-favorit.ru/由于某种原因,此代码给我“GA 未定义”错误: ga.getAll()[0].get('clientId') 该网站通过
我们目前依赖于使用 UTM 参数(utm_source、utm_medium、utm_campaign、utm_term、utm_content)来实现 Universal Analytics 与 G
我正在使用 Google Tag Manager现在在我所有的网站上实现谷歌分析并在 future 证明它们适用于任何其他脚本。 我将 GTM 放在我的样板文件中。 有什么理由这可能不是好的做法吗?
在我的 Maven pom.xml 中,我有以下依赖项: org.hibernate hibernate-entitymanager 3.3.2.GA org.h
我正在优化我的 external Google Analytics script现在我想知道: https://www.google-analytics.com/ga.js 和 https://ssl
我们最近将 GA Premium 连接到 bigQuery,以导出 1 个属性和 1 个 View 中的所有非抽样数据。我们决定在我们的客户单一属性中使用未过滤的 View 来确保我们获得所有数据,但
我想跟踪谷歌分析中的一些更新而不是添加到分析数据中的值。 例如,如果我想跟踪所有用户的平均高分是多少,以便能够微调评分系统。 我可以在每次游戏退出时添加新的高分值,但它会是增量的,来自同一用户的旧数据
我有以下电子商务跟踪代码。我正在使用多个跟踪器。页面浏览量已正确跟踪,但当我查看电子商务报告时,没有数据通过。我错过了什么? (function (i, s, o, g, r, a, m) {
在我的登录页面的ajax调用中,如果它返回一个名为is_first_login = 1的参数,那么我需要调用ga()来发送GA事件。 此后,页面立即重定向到主仪表板页面。但不知道为什么,有时 ga()
我是一名优秀的程序员,十分优秀!