Mockito for JVM 1.4 Released
For those of you who didn’t know, I’m currently contracted at a workplace that is still stuck using java 1.4 (I heard they might ring in 2010 by upgrading, but we’ll see). This has create a number of difficulties, chief amongst them (in my view) that I can’t use Mockito and most people use EasMock… version 1.2 (yeah, the one with that MockControl nonsense).
Not to be foiled, I used retrotranslator to translate mockito to 1.4 so I can use it for TestCases… it is now available on the Mockito project site.
This is pretty much a direct port, and I added the class MockitoTestCase which basically has all the methods you’d normally statically import off of the Mockito base class. Here’s a quick demo of usage:
public class CustomerServiceTest extends MockitoTestCase{
private CustomerDao customerDao;
private CustomerService customerService;
public void setUp(){
customerDao = (CustomerDao) mock(CustomerDao.class);
customerService = new CustomerService();
customerService.setCustomerDao(customerDao);
}
public void testShouldReturnTheNumberOfActiveAccounts() throws DataFormatException{
List customers = Arrays.asList(new Customer[]{new Customer(3), new Customer(4)});
when(customerDao.getActiveCustomers()).thenReturn(customers);
assertEquals(7, customerService.getTotalActiveAccounts());
}
public void testShouldSaveCustomerIfHeHasAccounts(){
Customer customer = (Customer) mock(Customer.class);
when(customer.getNumberOfAccounts()).thenReturn(new Integer(1));
customerService.saveCustomerWithAccounts(customer);
((CustomerDao) verify(customerDao)).save(customer);
}
}
Good Luck! ![]()
If you're new here, you may want to subscribe to my RSS feed. Thanks for visiting!













