Powermock兼容性

问题描述 投票:0回答:1

我一直在进行一些具有复杂静态方法的测试,因此我正在使用powermock在测试中模拟它们。

我的配置是

  • Junit 4.11
  • Mockito 1.95
  • PowerMock 1.5.6

一切正常,直到应用程序将junit从4.11升级到4.12。现在,无论我在哪里使用powermock都会显示此错误:

在字段org.junit.internal.runners.MethodValidator中找不到字段'fTestClass'。

所以我做了一些研究,这个问题在以后的powermock版本中得到了解决,实际上,当我使用1.6.6(也不是1.6.2+)时,它并没有抛出该错误。但随后又有其他问题打破了:

java.lang.NoClassDefFoundError:org / mockito / internal / creation / util / MockitoMethodProxy

我以前已经遇到过这个问题,我尝试了许多版本来使其起作用,直到我使用之前提到的配置(Junit 4.11,Mockito 1.95,PowerMock 1.5.6)。我找到的在线链接记录了版本兼容性,在这里

https://github.com/powermock/powermock/wiki/MockitoUsage

但是它仅讨论带有powermock的模仿。我尝试合并版本(遵循模仿和powermock的规则)。我无法更改junit版本,因此我将mokito更改为2.0.0和powermock 1.6.6(如文档所说的那样工作),但是错误仍然存​​在。我尝试了2.5.4和1.6.6,以及其他版本的powermock。到目前为止,我还没有运气。

有人知道如何配置吗?我缺少有关这些兼容性的任何文档吗?

java mockito junit4 powermock
1个回答
0
投票

我建议将PowerMock与PowerMock存储库中的Mockito和Junit4版本一起使用,以从此处获得最大的兼容性:

Junit4:https://mvnrepository.com/artifact/org.powermock/powermock-module-junit4

Mockito:https://mvnrepository.com/artifact/org.powermock/powermock-api-mockito2

尝试使用与此相同的版本:

等级示例:

testCompile group: 'org.powermock', name: 'powermock-api-mockito2', version: '2.0.5' testCompile group: 'org.powermock', name: 'powermock-module-junit4', version: '2.0.5'

对我有用!

© www.soinside.com 2019 - 2024. All rights reserved.