Using Mockito, how do I verify a method was a called with a certain argument?

后端 未结 3 598
旧时难觅i
旧时难觅i 2020-12-08 09:23

I\'m using Mockito 1.9.0. How would i verify that a method got called exactly once, and that one of the fields passed to it contained a certain value? In my JUnit test, I

3条回答
  •  春和景丽
    2020-12-08 10:06

    First you need to create a mock m_contractsDao and set it up. Assuming that the class is ContractsDao:

    ContractsDao mock_contractsDao = mock(ContractsDao.class);
    when(mock_contractsDao.save(any(String.class))).thenReturn("Some result");
    

    Then inject the mock into m_orderSvc and call your method.

    m_orderSvc.m_contractsDao = mock_contractsDao;
    m_prog = new ProcessOrdersWorker(m_orderSvc, m_opportunitySvc, m_myprojectOrgSvc);
    m_prog.work(); 
    

    Finally, verify that the mock was called properly:

    verify(mock_contractsDao, times(1)).save("Parameter I'm expecting");
    

提交回复
热议问题