我是 Mockito 的新手,正在尝试模拟服务方法。但是,Mockito 无法正确模拟该函数。
部分测试代码如下:
@Mock
ConditionalLimitDao conditionalLimitDao;
@InjectMocks
ConditionalLimitFilingServiceImpl conditionalLimitFilingService;
Mockito.when(conditionalLimitDao.getAllConditionalLimitProductGroups()).thenReturn(Arrays.asList(clpg1));
类(class):
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
方法中,为每个测试初始化模拟。
关于java - Mockito 不 mock ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56831815/