@Test public void startShouldMakeWorkerWorkOnWorkItem(){ Worker worker = mock(Worker.class); WorkItem workItem = mock(WorkItem.class); SingularTask task = new SingularTask(worker); task.start(workItem); verify(worker).workOn(workItem); } #### public class SingularTask implements Task { private Worker worker; ... public void start(WorkItem workItem) { worker.workOn(workItem); } ... }