junit4

@RunWith(MockitoJUnitRunner.class) // could be replace by MockitoAnnotations.initMocks(this)
public class FooTest {
    final String finalField; // new object for every @Test method.
    String ordinaryField; // new object for every @Test method.
    static int staticField; // static and therefore perpetual.

    @org.mockito.InjectedMock // annotated service would use other @Mock beans.
    private ToTestService toTestService;

    @org.mockito.Mock
    private UsedInTestService usedInTestService;

    @org.mockito.Mock
    private UsedInTestService usedInTestServiceB;

    private String expectedReturn1() {
        // throws error if usedInTestServiceB is also 'initialized'
        // when(usedInTestServiceB.boo()).thenReturn(expectedReturn2());  ERROR!
    }
    @Before
    public void init() {
        when(usedInTestService.foo(eq("A"), any(), anyString())).thenReturn(expectedReturn1());
        // eq() and any() are matchers, either all params are matchers or all params are not, cannot mix.
    }
    @Test
    public void testXX() {
        toTestService.xx();
        verify(toTestService).moo(eq("B"), any()); // all matchers or 0-macher cannot mix.
        // verify is used to see if moo method with specified params are called. 
        // which is tantamount to:
        // verify(toTestService, times(1)).moo(eq("B"), any());
    }       
}

今天试用了Mockito,很强大。经验见注释。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值