15. BddStyle: given-willReturn、OneLiner风格

package lesson15;

import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
import org.mockito.runners.MockitoJUnitRunner;

import java.util.List;

import static org.hamcrest.CoreMatchers.equalTo;
import static org.junit.Assert.assertThat;
import static org.mockito.BDDMockito.given;
import static org.mockito.Matchers.anyInt;

@RunWith(MockitoJUnitRunner.class)
public class BddStyleTest {
    @Mock
    private List<String> list;

    @Test
    public void test() {
        given(list.get(anyInt())).willReturn("xxx");
        assertThat(list.get(1), equalTo("xxx"));
    }
}
package lesson15;

import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.runners.MockitoJUnitRunner;

import java.util.Map;

import static org.hamcrest.CoreMatchers.equalTo;
import static org.junit.Assert.assertThat;
import static org.mockito.Matchers.any;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;

@RunWith(MockitoJUnitRunner.class)
public class OneLinerStubbingTest {
    @Test
    public void testNormal() {
        Map<String, String> map = mock(Map.class);
        when(map.get(any())).thenReturn("x1", "x2");
        assertThat(map.get("1"), equalTo("x1"));
        assertThat(map.get("1"), equalTo("x2"));
        assertThat(map.get("1"), equalTo("x2"));
    }

    @Test
    public void testOneLiner() {
        Map<String, String> map = when(mock(Map.class).get(any())).thenReturn("x1", "x2").getMock();
        assertThat(map.get("1"), equalTo("x1"));
        assertThat(map.get("1"), equalTo("x2"));
        assertThat(map.get("1"), equalTo("x2"));
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值