Mock
Mock objects have expectations; a test expects a value from a mock object, and during execution, a mock object returns the expected result. Also, mock objects can keep track of the invocation count, that is, the number of times a method on a mock object is invoked.
The following example is a continuation of the ATM example with a mock version. In the previous example, we stubbed the dispense method of the Dispenser interface to throw an exception; here, we'll use a mock object to replicate the same behavior. We'll explain the syntax in Chapter 4, Progressive Mockito.
public class ATMTest {
@Mock Dispenser failingDispenser;
@Before public void setUp() throws Exception {
MockitoAnnotations.initMocks(this);
}
@Test public void transaction_is_rolledback_when_hardware_fails() throws DispenserFailed {
Account myAccount = new Account(2000.00, "John");
TransactionManager txMgr = TransactionManager.forAccount(myAccount);
txMgr.registerMoneyDispenser...