@Mock:可以是interface、class,只是只运行是不进入具体的类中
@InjectMocks:只能只对class,在JUNIT运行时,可以进入具体的方法中,只是mock的方法,直接返回mock的值。
import org.junit.Before;
import org.mockito.InjectMocks;
import org.mockito.Mock;
import org.mockito.Mockito;
import org.mockito.MockitoAnnotations;
@Mock // mock 接口、类,不进入
private LoaCorpPayDtlMapper loaCorpPayDtlMapper;
//@MockBean
@InjectMocks // 只能只对类,运行时能进入类中,对指定的方法放回Mockito的值 可以使用@MockBean注解代替
private PayLoaBizImpl payLoaBizImpl;
@Before
public void initMock(){
MockitoAnnotations.initMocks(this);
}
@Test
public void testtt() {
OrderInfoOut out = new OrderInfoOut();
out.setPayMoney("1000");
Mockito.when(payLoaBizImpl.queryOrderInfo(Mockito.any())).thenReturn(out);
List<LoaCorpPayDtl> loaCorpPayDtlList = new ArrayList<LoaCorpPayDtl>();
loaCorpPayDtlList.add(...);
...
Mockito.when(loaCorpPayDtlMapper.selectList(Mockito.any())).thenReturn(loaCorpPayDtlList);
}