Описание тега atunit

Модульные тесты Java с mocks (JMock или EasyMock) и внедрением зависимостей (Spring или Guice)

AtUnit минимизирует стандартный код в модульных тестах и ​​направляет разработку тестов, применяя передовые методы.

  • пометьте ровно одно поле @Unit, чтобы указать тестируемый объект.
  • пометьте поля с помощью @Mock или @Stub, чтобы получить фиктивные объекты
  • впрысните свои тесты и ваших испытуемых, используя ваш любимый контейнер IoC

Интеграция ложных объектов

AtUnit интегрируется с JMock или EasyMock для предоставления имитируемых объектов:

  • получить контекст JMock, просто объявив поле
  • аннотируйте поля с помощью @Mock для получения макетов объектов JMock или EasyMock
  • аннотируйте поля с помощью @Stub для получения объекта-заглушки JMock или EasyMock

... или вы можете использовать свой собственный плагин для макетов объектов с помощью двух простых шагов:

  • реализовать интерфейс MockFramework
  • аннотируйте свои тесты с помощью @MockFrameworkClass(MyMockFramework.class)

Интеграция контейнеров

AtUnit интегрируется с Guice или Spring, чтобы взять на себя всю работу из тестов с зависимостями.

С Guice:

  • никогда не видят Инжектор, никогда не пишите шаблон начальной загрузки!
  • @Inject поля класса теста даже без определения модуля
  • декларативно получать фиктивные объекты с помощью @Inject @Mock
  • если вам нужна более гибкая привязка, просто попросите тестовый класс реализовать модуль

С весны:

  • аннотируйте поля с помощью @Bean, чтобы получить их из контекста Spring
  • поля, помеченные @Bean, которые не отображаются в контексте Spring, добавляются в него автоматически! (Это включает в себя поля @Mock и @Stub.)
  • AtUnit ищет файл Spring XML с тем же именем, что и ваш тест, или вы можете сами указать местоположение с помощью @Context("имя файла")
  • В большинстве случаев вам даже не нужен файл Spring XML! Вы можете легко подключить другие контейнеры в два этапа:

Смотрите их веб-страницу для получения дополнительной информации.