java - Mockito 不 mock

标签 java junit mockito

我是 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/

相关文章:

java - 使用 XPath 处理 XML 文件生成的路径时出错

java - 如何使用 junit 5 订购测试

java - 使用 JUnit/Mockito 来确认 java.util.Timer.schedule() 是否符合预期?

java - Mockito 的问题

android - 使用 LiveData 的 JUnit5 测试不执行订阅者的回调

java - 如何通过模拟自动测试控制台输入?

java - 如何制作JPanel的背景渐变

java - Flash 或 Java 中的开源 p2p 视频 session ?

java - Final 类中的模拟静态枚举

java - 将项目添加到测验问题数组列表