【问题标题】:Mockito / PowerMock compability issueMockito / PowerMock 兼容性问题
【发布时间】:2019-10-21 18:19:21
【问题描述】:

我收到以下错误:

java.lang.NoSuchMethodError: org.mockito.Mockito.framework()Lorg/mockito/MockitoFramework

自从我将 Mockito 版本从 1.10.19 切换到 3.1.0 并将 PowerMock 版本从 1.7.4 切换到 2.0.4 之后尝试运行 JUnit 测试。

我也尝试使用 Mockito 2.2.28 版和 PowerMock 2.0.4 版,得到了同样的错误。

在每节课中我都有以下注释,也许对你有帮助:

@RunWith(PowerMockRunner.class)
@PrepareForTest(Some.class)

【问题讨论】:

  • 您是否尝试删除 Mockito 依赖项并让 PowerMock 解决它们?
  • 你能提供测试的来源和完整的堆栈跟踪吗?
  • @Villat 我已经试过了,没有运气。
  • @JamesWilson 不幸的是我不能
  • 您究竟尝试了哪些依赖项?还要检查the compatiblity list。对于最新版本的 powermockito,您想测试它所针对的版本。 --(powermockito 2.0.4 和 mockito 2.2.28 不能一起工作)

标签: java testing junit mockito powermock


【解决方案1】:

我在@second 的帮助下发现了错误:

您应该尝试找出您真正的问题是什么。如果它仍然不起作用,则可能与您的依赖管理系统有关。如果它确实有效,您可以尝试更新版本,看看之前有效的一些测试现在是否被破坏了

还有错误:

是的,你是对的。旧版本的 mockito 是从父 pom 文件继承的,但即使我从该 jar 文件中排除了 mockito-core,powermock 仍然使用旧版本的 mockito-core 而不是新版本。所以我也从 powermock 中排除了 mockito-core,现在它可以工作了

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-01-02
    • 2016-08-28
    • 2014-02-12
    • 2011-10-04
    • 2013-03-28
    • 2019-10-03
    相关资源
    最近更新 更多