2010-09-24 3 views
0

Моя модульная тестовая среда заменяет компоненты бизнес-сервисов с помощью объектов Mock с использованием EasyMock.createMock (Interace).Методы EasyMock с параметрами, возвращающими void

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

Затем я использую EasyMock.expect (...) для управления поведением сотрудничающих объектов. Это отлично работает, пока методы не возвращаются.

Как я могу управлять поведением при отсутствии результатов. То есть.

EasyMock.expect(object.Method(EasyMock.isA(arg1)).andAnswer(new IAnswer()){ 
    public void anser(){ 
    ... do seomething meaningful with arg1... 
    }).anyTimes(); 

ответ

3

Вы можете использовать expectLastCall().andReturn("something");.

Вы не упомянули, какую версию EasyMock вы используете, но я думаю, что эта функция существует в течение некоторого времени.

Подробнее in the documentation.

+0

Спасибо! (Это работает). Я уверен, что использую последнюю версию с момента ее установки пару дней назад. – user457588

+1

Итак, вы должны отметить его ответ как правильный ответ. :-) –

Смежные вопросы