Как проверить, что метод был вызван с правильным параметром? - PullRequest
0 голосов
/ 25 октября 2011

Мое приложение имеет два класса, FireWatcher и AlarmBell. Когда начинается пожар, наблюдатель должен позвонить в колокол с уровнем. При небольших пожарах звоните в звонок с небольшим уровнем тревоги, при больших пожарах звоните в звонок как сумасшедший.

class FireWatcher {
  AlarmBell bell;
  void onFire(int fireLevel) { bell.ring(2 * fireLevel); }
}

class AlarmBell {
  void ring(int alarmLevel) { ... }
}

Я хочу проверить FireWatcher, чтобы убедиться, что он вызывает метод ring с правильным уровнем. Как я могу сделать это с Mockito?

Я бы хотел что-то похожее на следующее, но ничего не могу найти в документации.

when(fireWatcher.onFire(1)).expect(mockAlarmBell.ring(2));

1 Ответ

2 голосов
/ 25 октября 2011

Нужно пройти в издевательском AlarmBell.

Пример:

@Test
public void watcherShouldRingTheAlarmBellWhenOnFire() {
   AlarmBell alarm = mock(AlarmBell.class);
   FireWatcher watcher = new FireWatcher(alarm);

   watcher.onFire(1);

   verify(alarm).ring(2);
}
...