2016-10-18 3 views
0

я пытаюсь запустить простейший тестПочему мой ArgumentMatcher никогда не звонил?

с Mockito аргумента согласованью: не

import org.mockito.ArgumentMatcher; 

import java.nio.file.Files; 
import java.nio.file.Paths; 
import java.util.HashMap; 
import java.util.List; 
import java.util.Map; 

import static org.hamcrest.Matchers.*; 
import static org.junit.Assert.*; 
import static org.mockito.Matchers.any; 
import static org.mockito.Matchers.anyObject; 
import static org.mockito.Matchers.anyString; 
import static org.mockito.Matchers.argThat; 
import static org.mockito.Mockito.*; 


    @Test 
     public void test123() throws Exception { 
      MyClient cofmanClient = mock(MyClient.class); 
      cofmanClient.holy("zigzag"); 

      MyClient verify = verify(cofmanClient); 
      verify.holy(argThat(new MyMatcher())); 
     } 

     private static class MyClient { 
      public void holy(String s) { 
       System.out.println("Called with: " + s); 
      } 
     } 

     private static class MyMatcher extends ArgumentMatcher<String> { 
      @Override 
      public boolean matches(Object argument) { 
       System.out.println("Deadly cow! s=" + argument.getClass().getName()); 
       return argument.getClass() == Class.class; 
      } 
     } 

однако мой согласовани не называется.

что мне не хватает?

+0

Что делать, если вы удалите окружающий вызов 'argThat()'? –

+0

Что делает MyClient verify = verify (cofmanClient); делать? – kuhajeyan

+0

@TimothyTruckle 'Ошибка: (158, 21) java: несовместимые типы: mytype.MyMatcher не может быть преобразован в java.lang.String' –

ответ

0

попробовать это:

public boolean matches(String argument) 
+0

Ошибка: (167, 20) java: linqmap.supportool.services.gas.GasStationConfigServiceTest.MyMatcher не является абстрактным и не отменяет совпадения абстрактных методов (java.lang.Object) в org.mockito.ArgumentMatcher –

+0

hum ok, my bad i thoung он может работать из-за ArgumentMatcher , так как «generic» был строкой, я имел бы смысл, если бы метод тоже был. –

0

Моя проблема заключалась в том, что точка разрыва в IntelliJ над "verify" метод блоков от остановки на контрольной точке внутри ArgumentMatcher.

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