Легкое поведение при использовании - PullRequest
1 голос
/ 13 января 2011

Я размышлял, возможно ли смоделировать поведение всего объекта с помощью EasyMock, но таким образом, что однажды объявленная имитация со всеми ожидаемыми значениями и результатами используется несколько раз, не заботясь о порядке запросов?

Цель этого состоит в том, чтобы создать экземпляр макета, например, в тесте JUnit @BeforeClass и использовать его в нескольких методах @Test.

Заранее спасибо за любой ввод,

С уважением,П.

Ответы [ 2 ]

3 голосов
/ 13 января 2011

Если вы не заинтересованы в проверке вызовов на макет, и ваша единственная цель - обеспечить, чтобы при вызове определенного метода на макете он всегда возвращал один и тот же желаемый результат, вы можете настроить его с помощью andStubReturn() например,

expect(mock.getMeaningOfLifeUniverseAndEverything()).andStubReturn(42);
2 голосов
/ 13 января 2011

Я думаю, что вы действительно хотите две вещи:

  1. Возможность использовать макетные методы не по порядку, что по умолчанию является easymock (не строгий режим),
  2. Возможность использовать макетные методы любое количество раз.

Вы делаете последнее следующим образом:

expect(someMock.someMethod()).anyTimes().andReturn(someValue);

Если ваш метод будет получать разные аргументы при каждом вызове, выможно использовать метод anyObject (), чтобы игнорировать предоставленный аргумент.

...