Mockito和PowerMockito的兼容

Mockito和PowerMockito的兼容

我的spring Boot是2.1.16RELEASE版本的,mockito是2.23.4版本的(这个版本的mockito去找相应的powerMockito有点尴尬,啥也不是),junit是4.12版本的,直接复制百度与junit相应版本的powerMockito的依赖(如下)会报错:java.lang.NoClassDefFoundError: org/mockito/cglib/proxy/Enhancer。

<!--powerMockito-->
<dependency>
    <groupId>org.powermock</groupId>
    <artifactId>powermock-module-junit4</artifactId>
    <version>1.6.5</version>
    <scope>test</scope>
</dependency>
<dependency>
    <groupId>org.powermock</groupId>
    <artifactId>powermock-api-mockito</artifactId>
    <version>1.6.5</version>
    <scope>test</scope>
</dependency>

踩坑

查百度,有很多方法牛头不对马嘴解决不了问题,主要有再加上cglib-nodep-2.1.3依赖的,byte-buddy和byte-buddy-agent依赖的,mockito-all-2.0.

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Mockito 是一个 Java 开发中常用的单元测试框架,它可以帮助我们模拟出各种对象、方法等,使得我们可以在测试环境中使用这些模拟对象进行测试,从而有效地排除一些不确定性因素。 PowerMock 是 Mockito 的一个扩展库,它提供了一些 Mockito 无法实现的功能,例如模拟静态方法、构造函数等等。 下面是一个简单的示例,演示了如何使用 Mockito 和 PowerMock 进行单元测试: ```java import static org.mockito.Mockito.*; import static org.powermock.api.mockito.PowerMockito.*; public class ExampleTest { @Test public void testExample() { // 模拟一个对象 Example example = mock(Example.class); // 调用对象中的方法 when(example.methodA()).thenReturn("Hello"); // 断言方法返回值是否符合预期 assertEquals("Hello", example.methodA()); // 使用 PowerMockito 模拟静态方法 mockStatic(Example.class); when(Example.methodB()).thenReturn("World"); // 断言静态方法返回值是否符合预期 assertEquals("World", Example.methodB()); } } ``` 在上面的示例中,我们首先使用 Mockito 模拟了一个对象 Example,并且设置了其方法 methodA 的返回值为 "Hello"。接着,我们使用 PowerMockito 模拟了 Example 类的静态方法 methodB,并设置其返回值为 "World"。最后,我们利用断言来验证这两个方法的返回值是否符合预期。 需要注意的是,PowerMockito 在使用时需要添加相应的依赖,例如: ```xml <dependency> <groupId>org.powermock</groupId> <artifactId>powermock-api-mockito2</artifactId> <version>2.0.9</version> <scope>test</scope> </dependency> <dependency> <groupId>org.powermock</groupId> <artifactId>powermock-module-junit4</artifactId> <version>2.0.9</version> <scope>test</scope> </dependency> ``` 这些依赖可以在 Maven 或 Gradle 中进行配置。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值