【问题标题】:mockito - faking addObservermockito - 伪造 addObserver
【发布时间】:2011-02-09 22:27:38
【问题描述】:

我从 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)).then(?)

【问题讨论】:

    标签: java mocking mockito observable


    【解决方案1】:

    布莱恩,

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

    verify(adm).countObservers( AnyObject)
    

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

    干杯, 一个。

    【讨论】:

    • 谢谢!我不确定我是如何在错过第一个主题的同时学到了一些关于 mockito 的东西。我会读一读。
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-07-08
      • 1970-01-01
      • 2021-10-17
      • 1970-01-01
      • 1970-01-01
      • 2021-10-08
      • 2020-11-03
      • 2010-11-15
      相关资源
      最近更新 更多