我是Mockito的新手,正在尝试模拟服务方法。但是,Mockito无法正确模拟该功能。
这是测试代码的一部分:
@Mock
ConditionalLimitDao conditionalLimitDao;
@InjectMocks
ConditionalLimitFilingServiceImpl conditionalLimitFilingService;
Mockito.when(conditionalLimitDao.getAllConditionalLimitProductGroups()).thenReturn(Arrays.asList(clpg1));
班级:
public class ConditionalLimitFilingServiceImpl implements ConditionalLimitFilingService {
@Inject
private ConditionalLimitDao conditionalLimitDao;
@Override
public List<ConditionalLimitFiling> getConditionalLimitFiling(String filingMonth, Date reportDate)
throws SQLException, RemoteException {
conditionalLimitProductGroups = getConditionalLimitProductGroups();
return something;
}
private List<ConditionalLimitProductGroup> getConditionalLimitProductGroups() {
return conditionalLimitDao.getAllConditionalLimitProductGroups();
}
}
我期望
getAllConditionalLimitProductGroups()
返回一个非空列表。但是,它返回一个空列表。有人可以帮忙吗? 最佳答案
我认为您忘记添加此行
MockitoAnnotations.initMocks(this);
这行代码应放在
@Before
方法中,以为每个测试初始化模拟。