0

我从 mockito 开始,想知道如何伪造添加观察者。我想编写一个测试来确保观察者计数在函数调用后增加。

示例测试代码:

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(?)

4

2 回答 2

2

布莱恩,

使用验证。例如,代替断言,运行

verify(adm).countObservers( AnyObject)

并查看http://mockito.googlecode.com/svn/branches/1.5/javadoc/org/mockito/Mockito.html的第一章

干杯,一个。

于 2011-02-09T22:31:33.577 回答
1

如果您正在测试 MyClassUnderTest 那么您不应该关心 adm 做了什么。为未模拟的 AudioDeviceManager 编写一组单独的测试用例。

于 2011-02-09T22:37:06.633 回答