Powermock compatibilities



我一直在研究一些具有复杂静态方法的测试,所以我在测试中使用powermock来模拟它们。

我的配置是

  • Junit 4.11
  • Mockito 1.95
  • PowerMock 1.5.6

在应用程序将junit从4.11升级到4.12之前,一切都很顺利。这个错误现在显示在我使用powermock:的地方

在类org.unit.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谈论mockito。我尝试组合版本(遵循mockito和powermock的规则)。我无法更改junit版本,所以我将mokito更改为2.0.0和powermock 1.6.6(正如医生所说的那样),但错误仍然存在。我尝试了2.5.4和1.6.6,以及powermock的其他版本。到目前为止,我没有任何运气。

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

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

6月4日: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'

这对我很管用!

相关内容

  • 没有找到相关文章