Java.lang.nosuchmethoderror: org.mockito.invocation.invocationFactory.createInvocation (ljava/lang/ObjectJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Java.lang.nosuchmethoderror: org.mockito.invocation.invocationFactory.createInvocation (ljava/lang/Object

Сообщение Anonymous »

java 8 < /p>
maven 3.9. < /p>
Я хочу проверить, это void call.
2.0.2



org.mockito
mockito-core
test
4.4.0



org.mockito
mockito-inline
test
4.4.0



org.powermock
powermock-module-junit4
${powermock.version}
test


org.powermock
powermock-api-mockito2
${powermock.version}
test

< /code>
Здесь мой класс службы: < /p>
public class MyService {

private String data;

public MyService(String data) {
this.data = data;
}

public void processData() {
// Some processing logic
String message = "Processing data: " + data;
logEvent(message);
// More processing logic
}

private void logEvent(String message) {
// In a real scenario, this would log the event
System.out.println("Logging: " + message);
}
}
< /code>
Здесь мой модульный тест с использованием PowerMock: < /p>
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mockito;
import org.powermock.api.mockito.PowerMockito;
import org.powermock.core.classloader.annotations.PrepareForTest;
import org.powermock.modules.junit4.PowerMockRunner;

import static org.mockito.Mockito.times;
import static org.powermock.api.mockito.PowerMockito.verifyPrivate;

@RunWith(PowerMockRunner.class)
@PrepareForTest(MyService.class) // Prepare MyService for bytecode manipulation
public class MyServiceTest {

@Test
public void testProcessData_shouldCallLogEvent() throws Exception {
// Arrange
String testData = "sampleData";
MyService service = new MyService(testData);
MyService spyService = PowerMockito.spy(service); // Create a spy to track private method calls

// Act
spyService.processData(); // HERE ERROR!!!

// Assert
// Verify that the private method 'logEvent' was called exactly once
verifyPrivate(spyService, times(1)).invoke("logEvent", "Processing data: sampleData");
}
}

Когда я запускаю тест testprocessData_shouldcalllogevent ошибка - это повышение:
java.lang.NoSuchMethodError: org.mockito.invocation.InvocationFactory.createInvocation(Ljava/lang/Object;Lorg/mockito/mock/MockCreationSettings;Ljava/lang/reflect/Method;Ljava/util/concurrent/Callable;[Ljava/lang/Object;)Lorg/mockito/invocation/Invocation;

at com.myproject.handler.MyService.processData(MyService.java:15)
at com.myproject.handler.MyService.processData(MyService.java:14)
at com.myproject.handler.MyServiceTest.testProcessData_shouldCallLogEvent(MyServiceTest.java:26)
at org.junit.internal.runners.TestMethod.invoke(TestMethod.java:68)
at org.junit.internal.runners.MethodRoadie$2.run(MethodRoadie.java:89)
at org.junit.internal.runners.MethodRoadie.runBeforesThenTestThenAfters(MethodRoadie.java:97)
at org.junit.internal.runners.MethodRoadie.runTest(MethodRoadie.java:87)
at org.junit.internal.runners.MethodRoadie.run(MethodRoadie.java:50)


Подробнее здесь: https://stackoverflow.com/questions/795 ... createinvo
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»