首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >伪造addObserver

伪造addObserver
EN

Stack Overflow用户
提问于 2011-02-10 06:27:39
回答 2查看 1.1K关注 0票数 0

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

示例测试代码:

代码语言:javascript
复制
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(?)

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-02-10 06:31:34

布莱恩

使用verify。例如,不使用断言,而是运行

代码语言:javascript
复制
verify(adm).countObservers( AnyObject)

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

干杯,a.

票数 2
EN

Stack Overflow用户

发布于 2011-02-10 06:37:07

如果你正在测试MyClassUnderTest,那么你不应该关心adm做了什么。为AudioDeviceManager编写一组单独的测试用例,在该测试用例中它没有被模拟。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4951291

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档