Я пытаюсь издеваться над InetAddress.getLocalHost (). GetHostAddress () в своем модульном тесте
ниже приведен код, который я использовал
import static org.junit.Assert.assertEquals;
import static org.mockito.Mockito.when;
import java.net.InetAddress;
import java.net.UnknownHostException;
import org.apache.thrift.TException;
import org.junit.Test;
import org.powermock.modules.junit4.PowerMockRunner;
import org.junit.runner.RunWith;
import org.mockito.Mock;
import org.powermock.api.mockito.PowerMockito;
import org.powermock.core.classloader.annotations.PrepareForTest;
import com.sga.project.handlers.EchoServiceHandler;
@RunWith(PowerMockRunner.class)
public class EchoServiceHandlerTests {
private EchoServiceHandler sut;
private String localIp = "127.0.0.1";
@Mock
InetAddress inetAddress;
public EchoServiceHandlerTests()
{
PowerMockito.mockStatic(InetAddress.class);
try {
PowerMockito.when(InetAddress.getLocalHost())
.thenReturn(inetAddress);
} catch (UnknownHostException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
when(inetAddress.getHostAddress()).thenReturn(localIp);
sut = new EchoServiceHandler();
}
@PrepareForTest({EchoServiceHandler.class})
@Test
public void EchoReturnsSameString()
{
String input = "Test String";
String response = "";
String expected = "from " + "127.0.0.1"+ " : " + input;
try {
response = sut.echo(input);
} catch (TException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
assertEquals(response,expected);
}
}
Я не могу запустить тестовый пример, так как получаю следующее исключение
java.lang.NoClassDefFoundError: org/mockito/internal/creation/instance/InstantationException
Я новичок в насмешках в Java, может кто-нибудь сказать мне, что я здесь делаю не так?
Также проверьте github.com/powermock/powermock/wiki/FAQ на вопрос «Я не могу имитировать классы из java.lang, java.net, java.io или других системных классов, почему?»
Спасибо, я решил это, изменив некоторые версии powermockito и ранее отвеченный вопрос





Я устал от этого. Тестировщик может запускать модульный тестовый пример, а я даже не могу его запустить.