Описание тега 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! Вы можете легко подключить другие контейнеры в два этапа:
Смотрите их веб-страницу для получения дополнительной информации.