java - 如何使用mockito或Junit测试这个方法?

标签 java unit-testing methods mockito

@覆盖 公共(public)无效 storeInfoInStaging(StagingInfo stagingInfo) 抛出 BusinessException {

        INotificaDao iNotificaDao = NotificaDaoFactory.getInstance().getNotificaDao();
        try {
            iNotificaDao.storeInfoInStaging(stagingInfo);
        } catch (DataException e) {
            LOGGER.error(e.getMessage(), e);
            throw new BusinessException(NotificaConstants.DB_ERROR_CODE, NotificaConstants.DB_ERROR_MESSAGE);
        }

    }

最佳答案

我不知道你的className,你需要将你的className替换成你自己的className。也许,您可以做类似的事情,只需检查方法是否真正调用方法。

  @Mock
  private INotificationDao iNotificationDao;
  private ClassName className;

  @Before
  public void init() {
    className = spy(new ClassName());
  }

  @Test
  public void storeInfoInStagingGivenStaginInfoValid() {
    Mockito.doNothing().when(className).storeInfoStaging(stagingInfo);
    className.storeInfoStaging(storeInfo);
    Mockito.verify(iNotificaDao, atLeastOnce()).storeInfoStaging(staginInfo);
  }

关于java - 如何使用mockito或Junit测试这个方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50405405/

相关文章:

JavaFX 新场景或新 Pane

java - 以变​​量作为版本号的 Maven 模块

java - Cassandra 无法启动 JDK 到 8u161 时出现 AbstractMethodError 的原因?

c# - CollectionAssert 与泛型一起使用?

python - 如何从同一个类中的静态方法访问类中的python方法

java - 当我引入 while 循环时,我收到变量可能未初始化的错误消息...这是为什么?

java - 从链接中的 servlet 发送值到 jsp 页面

python - 我的单元测试还应该测试第三方库/包功能吗?

java - 在 Junit 中断言等于 2 个列表之间

Python 类内函数递归