2011-10-25 1 views
0

私のアプリには、FireWatcherAlarmBellという2つのクラスがあります。火事が始まると、ウォッチャーはレベルで鐘を鳴らす必要があります。小さな火災の場合は小さな警報レベルで鐘を鳴らし、大きな火災の場合は狂ったように鐘を鳴らします。メソッドが正しいパラメータで呼び出されたことをテストするにはどうすればよいですか?

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

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

は、私はそれが正しいレベルでのメソッドリングを呼び出すことを確認するFireWatcherをテストしたいです。私はMockitoでそれをどうやってすることができますか?

私は次のようなものが欲しいですが、ドキュメントに何も見つかりません。

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

答えて

2

AlarmBellを渡す必要があります。

例:

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

    watcher.onFire(1); 

    verify(alarm).ring(2); 
} 
関連する問題