我应该如何使用org.mockito.AdditionalMatchers.gt



我试图弄清楚org.mockito.AdditionalMatchers是如何工作的,但我失败了。为什么这个测试失败了?

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>

对于这种情况,您应该使用Hamcrest的greaterThangt用于验证模拟对象中方法调用的参数:

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));
    }
}

相关内容

  • 没有找到相关文章

最新更新