У меня проблема, когда активен встроенный mockito. Тест отлично работает в обычном режиме. Ошибка:
[ERROR] Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 25.556 s <<< FAILURE! - in es.ddmain.utils.FileSystemUtilsTest
[ERROR] testIntentarSubirImagenYtestBorrarFichero Time elapsed: 25.548 s <<< ERROR!
java.lang.IllegalStateException: Could not initialize plugin: interface org.mockito.plugins.MockMaker (alternate: null)
at es.ddmain.utils.FileSystemUtilsTest.testIntentarSubirImagenYtestBorrarFichero(FileSystemUtilsTest.java:61)
Caused by: java.lang.IllegalStateException: Failed to load interface org.mockito.plugins.MockMaker implementation declared in java.lang.CompoundEnumeration@249676e4
at es.ddmain.utils.FileSystemUtilsTest.testIntentarSubirImagenYtestBorrarFichero(FileSystemUtilsTest.java:61)
Caused by: java.lang.reflect.InvocationTargetException
at es.ddmain.utils.FileSystemUtilsTest.testIntentarSubirImagenYtestBorrarFichero(FileSystemUtilsTest.java:61)
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 : 11
JVM vendor name : Oracle Corporation
JVM vendor version : 11.0.2+9-LTS
JVM name : Java HotSpot(TM) 64-Bit Server VM
JVM version : 11.0.2+9-LTS
JVM info : mixed mode
OS name : Windows 7
OS version : 6.1
at es.ddmain.utils.FileSystemUtilsTest.testIntentarSubirImagenYtestBorrarFichero(FileSystemUtilsTest.java:61)
Caused by: java.lang.IllegalStateException: Could not self-attach to current VM using external process
at es.ddmain.utils.FileSystemUtilsTest.testIntentarSubirImagenYtestBorrarFichero(FileSystemUtilsTest.java:61)
[EDIT] Извините, я забыл включить версию mockito.
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-junit-jupiter</artifactId>
<version>4.8.1</version>
<scope>test</scope>
</dependency>
что я могу сделать, чтобы исправить это? я нуб в мокито
Спасибо
4.8.1 извините, я забыл включить эту информацию
Скорее всего вы столкнулись с Не удалось самостоятельно подключиться к текущей ВМ с помощью внешнего процесса (ByteBuddyAgent.installExtension) #2741
Известно, что Mockito не может имитировать несколько классов, которые он использует внутри. Вопрос закрыт как неразрешимый
К сожалению, InputStream — это один из классов, на который Mockito полагается в своем поведении. Таким образом, заглушка InputStream приведет к неопределенному поведению. Кроме того, рекомендуется не издеваться над классами, которыми вы не владеете: https://github.com/mockito/mockito/wiki/How-to-write-good-tests#dont-mock-a-type-you -dont-own Мы работаем над улучшением взаимодействия с пользователем, работая над функцией DoNotMock, чтобы избежать насмешек над классами/методами, которые, как известно, вызывают сбой внутренних компонентов Mockito (#1833). Поэтому я закрываю это как «неосуществимое». Приносим извинения за выброшенное неинформативное исключение.
Спасибо, я понимаю, но это выдает ошибку только в том случае, если я активен режим «mock-maker-inline», в обычном режиме работает отлично. Есть ли способ запустить некоторые тесты в режиме «mock-maker-inline», а другие — в обычном режиме?
@Blrackerd Если возможно, я бы искал способы не издеваться над этими проблемными классами. Например, вместо того, чтобы имитировать InputStream, вы можете создать его из заданной строки (stackoverflow.com/questions/782178/…) и т. д.
у меня такая же проблема!!
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:104)
at org.mockito.internal.configuration.plugins.DefaultMockitoPlugins.getDefaultPlugin(DefaultMockitoPlugins.java:78)
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:1669)
at org.springframework.boot.test.mock.mockito.MockReset.withSettings(MockReset.java:81)
at org.springframework.boot.test.mock.mockito.MockDefinition.createMock(MockDefinition.java:147)
... 86 more
Caused by: java.lang.reflect.InvocationTargetException
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499)
at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480)
at org.mockito.internal.configuration.plugins.DefaultMockitoPlugins.create(DefaultMockitoPlugins.java:102)
... 95 more
Caused by: org.mockito.exceptions.base.MockitoInitializationException:
Could not initialize inline Byte Buddy mock maker.
это не работает, когда я выбрал orcal17 или amazon17
It appears as if your JDK does not supply a working agent attachment mechanism.
Java : 17
JVM vendor name : Amazon.com Inc.
JVM vendor version : 17.0.6+10-LTS
JVM name : OpenJDK 64-Bit Server VM
JVM version : 17.0.6+10-LTS
JVM info : mixed mode, sharing
OS name : Windows 10
OS version : 10.0
Это не отвечает на вопрос. Это должно было быть резюмировано как комментарий под исходным постом.
Какую версию Mockito вы используете?