gradle - java.lang.ClassCastException:无法将 org.mockito.internal.creation.bytebuddy.InlineByteBuddyMockMaker 转换为 org.mockito.plugins.MockMaker
问题描述
测试实现:
testImplementation group: 'org.mockito', name: 'mockito-core', version: '3.9.0'
testImplementation group: 'org.powermock', name: 'powermock-api-mockito2', version: '2.0.9'
testImplementation group: 'org.powermock', name: 'powermock-core', version: '2.0.9'
testImplementation group: 'org.powermock', name: 'powermock-module-testng', version: '2.0.9'
testImplementation group: 'org.springframework.boot', name: 'spring-boot-starter-test', version: ver.springBoot
testImplementation group: 'org.testng', name: 'testng', version: '6.9.10'
testImplementation group: 'net.bytebuddy', name: 'byte-buddy', version: '1.10.20'
testImplementation group: 'net.bytebuddy', name: 'byte-buddy-agent', version: '1.10.20'
testImplementation group: 'org.objenesis', name: 'objenesis', version: '3.2'
测试类:
public class TestAlgoQueryProcess extends PowerMockTestCase{
@Test
public static void test() {
SBHttpClient<RPAResponse, PandoraGrootHttpDeserializer, byte[]> mockGrootClient = PowerMockito.mock(SBHttpClient.class); // hits error at this point.
}
如果我 powerMockIgnore "org.mockito.plugins.MockMaker" 我得到一个不同的错误:
Caused by: java.lang.LinkageError: loader constraint violation in interface itable initialization for class org.mockito.internal.creation.bytebuddy.InlineByteBuddyMockMaker: when selecting method 'org.mockito.plugins.MockMaker$TypeMockability org.mockito.plugins.MockMaker.isTypeMockable(java.lang.Class)' the class loader 'app' for super interface org.mockito.plugins.MockMaker, and the class loader org.powermock.core.classloader.javassist.JavassistMockClassLoader @6bc35f3f of the selected method's class, org.mockito.internal.creation.bytebuddy.InlineByteBuddyMockMaker have different Class objects for the type org.mockito.plugins.MockMaker$TypeMockability used in the signature (org.mockito.plugins.MockMaker is in unnamed module of loader 'app'; org.mockito.internal.creation.bytebuddy.InlineByteBuddyMockMaker is in unnamed module of loader org.powermock.core.classloader.javassist.JavassistMockClassLoader @6bc35f3f, parent loader 'app')
解决方案
推荐阅读
- javascript - Google Calendar API:检查日历上是否存在事件
- c# - 无法在类型参数化方法中将子类隐式转换为父类
- c# - 初始化通用类型属性
- bluetooth - 是否可以在不配对的情况下通知 GATT 事件?
- javascript - 为什么我的 js 代码在 Laravel 8 的 Livewire 中执行点击事件时会暂停?
- amazon-web-services - 服务目录RDS MS SQL产品-如何解决亚马逊云形成异常用户
- python - Pygame:如何一次又一次地从左到右移动图像
- python-idle - 如何在 Mac 中找到 IDLE 源代码(idlelib)?
- javascript - 如何使用 joi 添加自定义错误消息?
- python - 无法使用 social-auth-app-django 断开与 Google OAuth2 的连接