2013-02-22 1 views
6

Я пытаюсь выяснить, как работает org.mockito.AdditionalMatchers, но я потерпел неудачу. Почему этот тест не работает?Как использовать org.mockito.AdditionalMatchers.gt?

import static org.hamcrest.CoreMatchers.is; 
import static org.junit.Assert.*; 
import static org.mockito.AdditionalMatchers.*; 

public class DemoTest { 

    @Test 
    public void testGreaterThan() throws Exception { 

     assertThat(17 
      , is(gt(10)) 
     ); 
    } 
} 

Выход:

java.lang.AssertionError: 
Expected: is <0> 
    got: <17> 

ответ

6

Вы должны использовать Hamcrest-х greaterThan для этого случая. gt предназначен для проверки аргументов вызовов методов в макетных объектах:

public class DemoTest { 

    private List<Integer> list = Mockito.mock(List.class); 

    @Test 
    public void testGreaterThan() throws Exception { 
     assertThat(17, is(org.hamcrest.Matchers.greaterThan(10))); 

     list.add(17); 
     verify(list).add(org.mockito.AdditionalMatchers.gt(10)); 
    } 

}