我从模仿开始,想知道如何假装添加观察者。我想编写一个测试,以确保函数调用后观察者计数增加。
测试代码示例:
MyClassUnderTest instance = new MyClassUnderTest();
AudioDeviceManager adm = mock(AudioDeviceManager.class);
assertEquals(adm.countObservers(), 0);
instance.setup(adm, microphone);
//Inside the setup function, microphone is added as an observer
//to the device manager: adm.addObserver(microphone);
assertEquals(adm.countObservers(), 1);
由于adm是一个模拟,我知道我必须定义
addObserver
的逻辑,但是我不知道该怎么做-when(adm.addObserver(Observer o)).then(?)
最佳答案
布莱恩
使用验证。例如,代替断言,运行
verify(adm).countObservers( AnyObject)
并检查http://mockito.googlecode.com/svn/branches/1.5/javadoc/org/mockito/Mockito.html的第一章
干杯,
一种。