인프런 커뮤니티 질문&답변

작성자 없음

작성자 정보가 삭제된 글입니다.

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

회원 기능 테스트

jpa 강의 회원 기능 테스트에서 오류나서 진행이 안돼요ㅠㅠ

24.07.15 21:53 작성

·

169

0

MemberServiceTest하는데 오류가 납니다.. 어떻게 해야할지 계속 찾아보는데 못하겠네요 다음은 오류 내용입니다.


java.lang.IllegalStateException: Could not initialize plugin: interface org.mockito.plugins.MockMaker (alternate: null)

at org.mockito.internal.configuration.plugins.PluginLoader$1.invoke(PluginLoader.java:84)

at jdk.proxy3/jdk.proxy3.$Proxy135.getHandler(Unknown Source)

at org.mockito.internal.util.MockUtil.getMockHandlerOrNull(MockUtil.java:158)

at org.mockito.internal.util.MockUtil.isMock(MockUtil.java:147)

at org.mockito.internal.util.DefaultMockingDetails.isMock(DefaultMockingDetails.java:32)

at org.springframework.boot.test.mock.mockito.MockReset.get(MockReset.java:106)

at org.springframework.boot.test.mock.mockito.ResetMocksTestExecutionListener.resetMocks(ResetMocksTestExecutionListener.java:85)

at org.springframework.boot.test.mock.mockito.ResetMocksTestExecutionListener.resetMocks(ResetMocksTestExecutionListener.java:73)

at org.springframework.boot.test.mock.mockito.ResetMocksTestExecutionListener.beforeTestMethod(ResetMocksTestExecutionListener.java:60)

at org.springframework.test.context.TestContextManager.beforeTestMethod(TestContextManager.java:320)

at org.springframework.test.context.junit.jupiter.SpringExtension.beforeEach(SpringExtension.java:240)

at java.base/java.util.ArrayList.forEach(ArrayList.java:1596)

at java.base/java.util.ArrayList.forEach(ArrayList.java:1596)

Suppressed: java.lang.IllegalStateException: Could not initialize plugin: interface org.mockito.plugins.MockMaker (alternate: null)

at org.mockito.internal.configuration.plugins.PluginLoader$1.invoke(PluginLoader.java:84)

at jdk.proxy3/jdk.proxy3.$Proxy135.getHandler(Unknown Source)

at org.mockito.internal.util.MockUtil.getMockHandlerOrNull(MockUtil.java:158)

at org.mockito.internal.util.MockUtil.isMock(MockUtil.java:147)

at org.mockito.internal.util.DefaultMockingDetails.isMock(DefaultMockingDetails.java:32)

at org.springframework.boot.test.mock.mockito.MockReset.get(MockReset.java:106)

at org.springframework.boot.test.mock.mockito.ResetMocksTestExecutionListener.resetMocks(ResetMocksTestExecutionListener.java:85)

at org.springframework.boot.test.mock.mockito.ResetMocksTestExecutionListener.resetMocks(ResetMocksTestExecutionListener.java:73)

at org.springframework.boot.test.mock.mockito.ResetMocksTestExecutionListener.afterTestMethod(ResetMocksTestExecutionListener.java:67)

at org.springframework.test.context.TestContextManager.afterTestMethod(TestContextManager.java:487)

at org.springframework.test.context.junit.jupiter.SpringExtension.afterEach(SpringExtension.java:278)

... 2 more

Caused by: java.lang.IllegalStateException: Internal problem occurred, please report it. Mockito is unable to load the default implementation of class that is a part of Mockito distribution. Failed to load interface org.mockito.plugins.MockMaker

at org.mockito.internal.configuration.plugins.DefaultMockitoPlugins.create(DefaultMockitoPlugins.java:105)

at org.mockito.internal.configuration.plugins.DefaultMockitoPlugins.getDefaultPlugin(DefaultMockitoPlugins.java:79)

at org.mockito.internal.configuration.plugins.PluginLoader.loadPlugin(PluginLoader.java:75)

at org.mockito.internal.configuration.plugins.PluginLoader.loadPlugin(PluginLoader.java:50)

at org.mockito.internal.configuration.plugins.PluginRegistry.<init>(PluginRegistry.java:27)

at org.mockito.internal.configuration.plugins.Plugins.<clinit>(Plugins.java:22)

at org.mockito.internal.MockitoCore.<clinit>(MockitoCore.java:73)

at org.mockito.Mockito.<clinit>(Mockito.java:1683)

at org.springframework.boot.test.mock.mockito.MockReset.get(MockReset.java:105)

at org.springframework.boot.test.mock.mockito.ResetMocksTestExecutionListener.resetMocks(ResetMocksTestExecutionListener.java:85)

at org.springframework.boot.test.mock.mockito.ResetMocksTestExecutionListener.resetMocks(ResetMocksTestExecutionListener.java:73)

at org.springframework.boot.test.mock.mockito.ResetMocksTestExecutionListener.beforeTestMethod(ResetMocksTestExecutionListener.java:60)

at org.springframework.test.context.TestContextManager.beforeTestMethod(TestContextManager.java:320)

at org.springframework.test.context.junit.jupiter.SpringExtension.beforeEach(SpringExtension.java:240)

... 2 more

Caused by: java.lang.reflect.InvocationTargetException

at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:502)

at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:486)

at org.mockito.internal.configuration.plugins.DefaultMockitoPlugins.create(DefaultMockitoPlugins.java:103)

... 15 more

Caused by: org.mockito.exceptions.base.MockitoInitializationException:

Could not initialize inline Byte Buddy mock maker.

It appears as if your JDK does not supply a working agent attachment mechanism.

Java : 21

JVM vendor name : Oracle Corporation

JVM vendor version : 21.0.2+13-58

JVM name : OpenJDK 64-Bit Server VM

JVM version : 21.0.2+13-58

JVM info : mixed mode, sharing

OS name : Windows 10

OS version : 10.0

at org.mockito.internal.creation.bytebuddy.InlineDelegateByteBuddyMockMaker.<init>(InlineDelegateByteBuddyMockMaker.java:260)

at org.mockito.internal.creation.bytebuddy.InlineByteBuddyMockMaker.<init>(InlineByteBuddyMockMaker.java:23)

... 18 more

Caused by: java.lang.IllegalArgumentException

at java.instrument/sun.instrument.InstrumentationImpl.appendToClassLoaderSearch0(Native Method)

at java.instrument/sun.instrument.InstrumentationImpl.appendToBootstrapClassLoaderSearch(InstrumentationImpl.java:280)

at org.mockito.internal.creation.bytebuddy.InlineDelegateByteBuddyMockMaker.<clinit>(InlineDelegateByteBuddyMockMaker.java:177)

... 19 more

Caused by: [CIRCULAR REFERENCE: java.lang.IllegalStateException: Internal problem occurred, please report it. Mockito is unable to load the default implementation of class that is a part of Mockito distribution. Failed to load interface org.mockito.plugins.MockMaker]

Internal problem occurred, please report it. Mockito is unable to load the default implementation of class that is a part of Mockito distribution. Failed to load interface org.mockito.plugins.MockMaker

java.lang.IllegalStateException: Internal problem occurred, please report it. Mockito is unable to load the default implementation of class that is a part of Mockito distribution. Failed to load interface org.mockito.plugins.MockMaker

at org.mockito.internal.configuration.plugins.DefaultMockitoPlugins.create(DefaultMockitoPlugins.java:105)

at org.mockito.internal.configuration.plugins.DefaultMockitoPlugins.getDefaultPlugin(DefaultMockitoPlugins.java:79)

at org.mockito.internal.configuration.plugins.PluginLoader.loadPlugin(PluginLoader.java:75)

at org.mockito.internal.configuration.plugins.PluginLoader.loadPlugin(PluginLoader.java:50)

at org.mockito.internal.configuration.plugins.PluginRegistry.<init>(PluginRegistry.java:27)

at org.mockito.internal.configuration.plugins.Plugins.<clinit>(Plugins.java:22)

at org.mockito.internal.MockitoCore.<clinit>(MockitoCore.java:73)

at org.mockito.Mockito.<clinit>(Mockito.java:1683)

at org.springframework.boot.test.mock.mockito.MockReset.get(MockReset.java:105)

at org.springframework.boot.test.mock.mockito.ResetMocksTestExecutionListener.resetMocks(ResetMocksTestExecutionListener.java:85)

at org.springframework.boot.test.mock.mockito.ResetMocksTestExecutionListener.resetMocks(ResetMocksTestExecutionListener.java:73)

at org.springframework.boot.test.mock.mockito.ResetMocksTestExecutionListener.beforeTestMethod(ResetMocksTestExecutionListener.java:60)

at org.springframework.test.context.TestContextManager.beforeTestMethod(TestContextManager.java:320)

at org.springframework.test.context.junit.jupiter.SpringExtension.beforeEach(SpringExtension.java:240)

at java.base/java.util.ArrayList.forEach(ArrayList.java:1596)

at java.base/java.util.ArrayList.forEach(ArrayList.java:1596)

Caused by: java.lang.reflect.InvocationTargetException

at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:502)

at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:486)

at org.mockito.internal.configuration.plugins.DefaultMockitoPlugins.create(DefaultMockitoPlugins.java:103)

... 15 more

Caused by: org.mockito.exceptions.base.MockitoInitializationException:

Could not initialize inline Byte Buddy mock maker.

It appears as if your JDK does not supply a working agent attachment mechanism.

Java : 21

JVM vendor name : Oracle Corporation

JVM vendor version : 21.0.2+13-58

JVM name : OpenJDK 64-Bit Server VM

JVM version : 21.0.2+13-58

JVM info : mixed mode, sharing

OS name : Windows 10

OS version : 10.0

at app//org.mockito.internal.creation.bytebuddy.InlineDelegateByteBuddyMockMaker.<init>(InlineDelegateByteBuddyMockMaker.java:260)

at app//org.mockito.internal.creation.bytebuddy.InlineByteBuddyMockMaker.<init>(InlineByteBuddyMockMaker.java:23)

... 18 more

Caused by: java.lang.IllegalArgumentException

at java.instrument/sun.instrument.InstrumentationImpl.appendToClassLoaderSearch0(Native Method)

at java.instrument/sun.instrument.InstrumentationImpl.appendToBootstrapClassLoaderSearch(InstrumentationImpl.java:280)

at org.mockito.internal.creation.bytebuddy.InlineDelegateByteBuddyMockMaker.<clinit>(InlineDelegateByteBuddyMockMaker.java:177)

... 19 more

답변 1

0

인프런 AI 인턴님의 프로필 이미지

2024. 07. 15. 21:56

안녕하세요, 인프런 AI 인턴입니다.

오키님의 “jpa 강의 회원 기능 테스트에서 오류” 문제는 MockitoJDK 버전 간의 호환성 문제로 보입니다. 오류 메시지에 따르면, Mockito가 inline Byte Buddy mock maker를 초기화하는 과정에서 JDK가 작업 에이전트(working agent) 부착 메커니즘을 제공하지 않아 발생하는 것으로 나타나고 있습니다. 이러한 문제는 일반적으로 JDK의 버전이 Mockito와 호환되지 않을 때 발생할 수 있습니다.

이 문제에 대응하는 방법으로는 JDK 버전을 조정하거나 Mockito 버전을 업데이트하는 것이 있습니다. 특히 JDK의 최신 버전과 Mockito의 최신 버전 사이에 발생할 수 있는 호환성 문제를 해결하기 위해서는 둘 중 하나 혹은 양쪽 모두의 버전을 조절해야 할 필요가 있습니다.

유사한 문제 해결을 위해 유용한 내용이 포함된 링크를 제공드립니다:

JDK와 Mockito의 호환성을 확인하고, 필요하다면 JDK를 다운그레이드하거나 Mockito 버전을 업그레이드하는 방법을 시도해보세요. 이 과정에서 IDE(ex. IntelliJ IDEA)의 설정에서도 해당 JDK 버전을 사용하도록 설정해야 할 수 있습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.

현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏

추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

오키님의 프로필 이미지

2024. 07. 15. 22:21

자바버전과 mockito를 17로 바꾸고 업그레이드해서 다시 돌렸더니

 

org.junit.runners.model.InvalidTestClassError: Invalid test class 'jpabook.jpashop.service.MemberServiceTest':

1. No runnable methods

at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.<init>(SpringJUnit4ClassRunner.java:137)

at org.springframework.test.context.junit4.SpringRunner.<init>(SpringRunner.java:49)

at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499)

at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480)

at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)

at java.base/java.util.ArrayList$ArrayListSpliterator.tryAdvance(ArrayList.java:1602)

at java.base/java.util.stream.ReferencePipeline.forEachWithCancel(ReferencePipeline.java:129)

at java.base/java.util.stream.AbstractPipeline.copyIntoWithCancel(AbstractPipeline.java:527)

at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:513)

at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)

at java.base/java.util.stream.FindOps$FindOp.evaluateSequential(FindOps.java:150)

at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)

at java.base/java.util.stream.ReferencePipeline.findFirst(ReferencePipeline.java:647)

 

이런 오류가 발생합니다

OMG님의 프로필 이미지

2024. 07. 15. 22:35

안녕하세요. 오키님, 공식 서포터즈 OMG입니다.

아래 주소 링크를 참고해주세요 😀

https://www.inflearn.com/chats/649303/invalidtestclasserror-no-runnable-methods

감사합니다.

작성자 없음

작성자 정보가 삭제된 글입니다.

질문하기