最近在做SpringBoot 版本升级,原本的版本是2.3.1,目标版本是2.7.17,升完之后发现powermock用不了,报标题的错。
powermock官方已经不更新了,目前最新的版本停在 2.0.9,只能支持 junit4,所以想解决这个报错的办法有两个
-
去掉 powermock重写单元测试
-
SpringBoot 版本还是2.7.17,把junit版本下降到4
降低 junit所需引入的包
<dependency>
<groupId>org.powermock</groupId>
<artifactId>powermock-module-junit4</artifactId>
<scope>test</scope>
<version>2.0.9</version>
</dependency>
<dependency>
<groupId>org.powermock</groupId>
<artifactId>powermock-api-mockito2</artifactId>
<scope>test</scope>
<version>2.0.9</version>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
<version>3.3.3</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-junit-jupiter</artifactId>
<version>3.3.3</version>
<scope>test</scope>
</dependency>
本文主要介绍了SpringBoot项目单元测试java.lang.IllegalStateException: Could not initialize plugin: interface org.mockito.plugins.MockMaker,希望能对使用SpringBoot项目单元测试的同学们有所帮助。
1. 问题描述
2. 原因分析
3. 解决办法
解决方案:在pom.xml文件中加入一下代码
注意:不要去掉版本号-》在spring-boot-starter-parent(version:2.1.6.RELEASE)这个父工程中,已经有以下Jar包,但是版本号不一样,应该是版本不兼容的问题。
<dependency>
<groupId>net.bytebuddy</groupId>
<artifactId>byte-buddy</artifactId>
在单元测试时,需要对被测试方法进行验证:
如果被测试的方法有返回值,可以先准备期望方法的返回值expectedResult,然后调用方法获取真正的返回值actualResult,通过比较expectedResult和actualResult是否一致来对方法进行测试
如果被测试的方法没有返回值,可以调用被测试方法,然后判断这个方法里面的某些方法是否被触发执行来做相应的判断
Mockito提供了verify()方法来验证这个mock实例的某个方法是否被调用,调用
文章目录前言单元测试(mock) 错误org.mockito.Mockito.framework()Lorg/mockito/MockitoFramework;解析01 准备01::01 安装maven dependency helper插件和maven helper插件02 问题经过03 分析依赖03 问题分析
如果您觉得有用的话,记得给博主点个赞,评论,收藏一键三连啊,写作不易啊^ _ ^。
而且听说点赞的人每天的运气都不会太差,实在白嫖的话,那欢迎常来啊!!!
单元测试(mock) 错
在编写代码测试用例时,Mockito是开发人员最常见的选择之一。 然后我们面对的问题是,如何使用Mockito的thenReturn()和thenAnswer()方法? 如果您也面临这个问题,请不要担心每个人都面临或已经遇到了这个问题,我们将在这里解决!! 所以,开始吧...
Mockito是最著名的测试模拟框架之一。 让我们假设您已经了解了模仿。 如果没有,您可以在我们继续之前访问官方...
Dan North, the originator of Behavior-Driven Development wrote this back in 2008:
“We decided during the main conference that we should use JUnit 4 and Mockito because we think they are the future of TDD and mocking in Java”
本文章中的示例使用的开发环境为JD
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.junit.MockitoJUnitRunner;
im...
Mockito 学习
Mock 测试就是在测试过程中,对于某些不容易构造(如 HttpServletRequest 必须在Servlet 容器中才能构造出来)或者不容易获取比较复杂的对象(如 JDBC 中的ResultSet 对象),用一个虚拟的对象(
Mock 对象)来创建以便测试的测试方法。
Mock 最大的功能是帮你把单元测试的耦合分解开,如果你的代码对另一个类或者接口有依赖,它能够帮你模拟这些依赖,并帮你验证所调用的依赖的行为。
下面是进行总结的一些使用情况的场景:
这个错误表明你试图在代码中使用Mockito框架,但是`org.mockito.Mock`未找到。Mockito是一个流行的Java单元测试框架,用于创建模拟对象(mocks)进行单元测试。出现这个问题的原因可能有:
1. **Mockito库缺失**:确保你在项目中添加了Mockito作为依赖。如果是Maven项目,可以在pom.xml中加入:
```xml
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
<version>当前版本号</version>
<scope>test</scope>
</dependency>
或者Gradle项目中:
```gradle
implementation 'org.mockito:mockito-core:当前版本号'
testImplementation 'org.mockito:mockito-inline:当前版本号'
2. **Import问题**:检查你的导入语句,确保正确的导入了`org.mockito.Mockito`,而不是只导入了`Mock`。
3. **IDE配置**:确保你的集成开发环境(如IntelliJ IDEA、Eclipse等)已正确配置Mockito插件。
4. **代码路径问题**:检查是否有源代码混淆或打包时Mockito的jar没有包含在运行时的类路径中。
如果你还没有安装Mockito,先安装并添加到项目依赖后,上述问题应该能得到解决。如果问题依然存在,查看Mockito的官方文档或者在线搜索特定错误信息可能会有所帮助。
Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' he
63229