Использование EasyMock с TestNG

Я знаю два способа использования аннотаций «Mock» и «TestSubject» с JUnit. Первый — указать объект класса EasyMockLoader для аннотации RunWith для класса, содержащего поля, отмеченные этими аннотациями. Второй — пометить поле EasyMockRule аннотацией «Правило». Как использовать аннотации «Mock» и «TestSubject» с TestNG?


person Antonio    schedule 28.10.2016    source источник


Ответы (2)


TestNG напрямую не поддерживается. Но вы можете легко вводить макеты, используя аннотации, выполнив

EasyMockSupport.injectMocks(this);

(из вашего тестового класса)

person Henri    schedule 29.10.2016
comment
Я работаю над встроенной интеграцией TestNG: github.com/easymock/easymock/pull/186. - person juherr; 30.10.2016
comment
Это работает, но должно быть EasyMockSupport.injectMocks(this);. - person Vic; 21.04.2017

Насколько мне известно, EasyMock не поддерживает TestNG из коробки, но PowerMock поддерживает. Возможно, использование PowerMock + EasyMock + TestNG будет работать как шарм.

В противном случае, о @Mock, вам придется управлять им самостоятельно (искать поля, создавать макеты и внедрять их) с помощью метод конфигурации (метод @BeforeX) или соответствующий слушатель. Другим решением может быть использование интеграции с Guice и создание макетов в модуль Guice.

То же решение для @TestSubject: методы конфигурации или слушатели.

person juherr    schedule 28.10.2016