Java 莫基托-冒充观察员

Java 莫基托-冒充观察员,java,mocking,mockito,observable,Java,Mocking,Mockito,Observable,我从mockito开始,想知道如何添加一个观察者。我想编写一个测试,确保函数调用后观察者计数增加 测试代码示例: MyClassUnderTest instance = new MyClassUnderTest(); AudioDeviceManager adm = mock(AudioDeviceManager.class); assertEquals(adm.countObservers(), 0); instance.setup(adm, microphone); //Inside t

我从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是一个mock,我知道我必须定义
addObserver
的逻辑,但我不知道该定义什么-
when(adm.addObserver(Observer o))。然后(?)
brian

使用验证。例如,运行

verify(adm).countObservers( AnyObject)
并检查第一章

干杯, a、 布莱恩

使用验证。例如,运行

verify(adm).countObservers( AnyObject)
并检查第一章

干杯,
a、

如果您正在测试MyClassUnderTest,那么您不应该关心adm做什么。为AudioDeviceManager编写一组单独的测试用例,在那里它不会被模仿。

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

谢谢!我不知道我是如何在错过了第一个主题的情况下学到了关于mockito的一些东西的。我会读一读的。谢谢!我不知道我是如何在错过了第一个主题的情况下学到了关于mockito的一些东西的。我会读一读。