junit - 带有 Mockito 的 Powermock - 依赖问题
问题描述
我正在使用以下依赖项:
- 模拟核心:2.8.47
- powermock-api-mockito2:2.0.2
- powermock-module-junit4: 2.0.2
这是我的pom:
<dependency>
<groupId>org.powermock</groupId>
<artifactId>powermock-module-junit4</artifactId>
<version>${powermock.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.powermock</groupId>
<artifactId>powermock-api-mockito2</artifactId>
<version>${powermock.version}</version>
<scope>test</scope>
</dependency>
具有以下属性:
<properties>
<powermock.version>2.0.2</powermock.version>
</properties>
现在,当我运行一些单元测试时,我得到:
Caused by: java.lang.NoSuchMethodError: org.mockito.MockitoFramework.getPlugins()Lorg/mockito/plugins/MockitoPlugins;
at org.powermock.api.mockito.mockmaker.MockMakerLoader.doLoad(MockMakerLoader.java:45)
at org.powermock.api.mockito.mockmaker.MockMakerLoader.load(MockMakerLoader.java:36)
at org.powermock.api.mockito.mockmaker.PowerMockMaker.<init>(PowerMockMaker.java:36)
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 java.lang.Class.newInstance(Class.java:442)
我对此有点迷失 - 仍然遇到相同的情况:更改依赖项之一的版本并且缺少一些东西:/
我正在使用此站点来选择依赖项版本:https ://github.com/powermock/powermock/wiki/Mockito-2-Maven 有人可以帮助我并告诉我选择适当版本的工件的程序是什么吗?
感谢帮助 :)
解决方案
添加任何依赖项时,请检查将添加的已编译依赖项
例如 - 如果您要添加 powermock-api-mockito 版本 - 1.7.4
https://mvnrepository.com/artifact/org.powermock/powermock-api-mockito2/2.0.2
始终选择一个稳定的版本和最常用的版本,你做对了,去上面的 url 看看如下图
在页面上向下滚动-您将看到它正在自动添加-在依赖项下方
现在我认为你很容易找到依赖关系。
注意 - 这里显示了不同版本的
模拟核心:2.8.47 --> 2.23.0
推荐阅读
- xamarin.forms - does Xamarin.Forms Style support variable/parameter from applied target?
- nginx - How add nginx-ingress custom health check behind a nginx reverse proxy
- ruby-on-rails - 无法更新数据库形式的数据
- python - Webscraping with Python and Selenium
- php - 我的 Apache2 RewriteEngine On 和 AllowOverride All 更改是否安全?
- azure - selection of task in release pipeline in azure devops
- c# - Best practice exporting List
in C# for COM Interop - python-3.x - 无法将用户输入插入 MySQL 数据库
- javascript - npm 错误!代码 ELIFECYCLE npm 错误!错误号 2
- java - MySQL查询将多行转换为一行