2016-01-21 4 views
0

Я пытаюсь издеваться над классом интерфейса с помощью JMockit, следуя примеру документации. Тем не менее, им получаю ошибку о том, чтоОшибки метаданных JMockit

java.lang.IllegalArgumentException: Сопоставление реальных методов не найдены в следующих издевается: package.JMockitTest $ 1 # HttpResponse (package.HttpClient клиент)

@Test 
public void mockingAnInterface() throws Exception 
{ 

    HttpClient client = new MockUp<HttpClient>() { 
     @Mock 
     String HttpResponse(HttpClient client) 
     { 
     return "100"; 
     } 
    }.getMockInstance(); 

    Weblogic weblogic = new Weblogic(); 
    Assert.assertEquals(client.HttpResponse("asd"), "100"); 

} 
+1

ошибка говорят, что нет 'Строки HttpResponse (HttpClient клиента)' в классе 'HttpClient'. Что такое «HttpClient»? Какой метод вы пытаетесь высмеивать? – assylias

ответ

1

Вы пропускание String на линии client.HttpResponse("asd"), "100" в то время как ваш издевались метод ожидает HttpClient Вы должны макет метода,

@Mock 
String HttpResponse(String client) 
{ 
      return "100"; 
} 

в вашем MockUP ИЛИ

Вы должны изменить свой вызов использовать HttpClient вместо String

+0

ahh да! эти маленькие ничтожные серьезные ошибки. благодаря! будет принимать ваш ответ после его получения – Programmer

Смежные вопросы