mockito - фальсификация addObserver - PullRequest
0 голосов
/ 10 февраля 2011

Я начинаю с мокито и задаюсь вопросом, как подделать, добавив наблюдателя. Я хочу написать тест, который обеспечит увеличение количества наблюдателей после вызова функции.

пример кода тестирования:

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

Ответы [ 2 ]

2 голосов
/ 10 февраля 2011

Брайан,

используйте подтверждение.Например, вместо assert, запустите

verify(adm).countObservers( AnyObject)

и проверьте первую главу http://mockito.googlecode.com/svn/branches/1.5/javadoc/org/mockito/Mockito.html

Приветствия, a.

1 голос
/ 10 февраля 2011

Если вы тестируете MyClassUnderTest, вам не нужно заботиться о том, что делает adm.Напишите отдельный набор тестовых случаев для AudioDeviceManager, где он не проверяется.

...