Теперь, когда интеграционные тесты Alfresco для пользовательских модулей выполняются с использованием Docker, мне интересно, как сделать дополнительные компоненты Spring доступными в этом контексте и как получить доступ к существующим компонентам Spring в тестовых классах.
До Alfresco 5.xЯ использовал для аннотирования тестового класса
@ContextConfiguration("classpath:alfresco/application-context.xml")
Это сделало контекст Spring доступным.Чтобы сделать бины Spring из этого контекста доступными в тестовом классе, я аннотировал следующие члены:
@Autowired
@Qualifier("authenticationComponent")
private AuthenticationComponent authenticationComponent;
Кроме того, я смог определить дополнительные бины Spring в src/test/resources/alfresco/extension/test-context.xml
.
Isэтот подход использовать при написании интеграционных тестов для 6.x и Docker?
По крайней мере, аннотация org.springframework.test.context.ContextConfiguration
больше не включена в сборку модуля с использованием архетипа Maven 4.0.0 SDK.
В этом блоге говорится о вышеупомянутых аннотациях.Но зависимости, извлекаемые pom.xml
, созданными из архетипа SDK 4, не включают эти аннотации.
Другой подход, по-видимому, заключается в использовании только
@RunWith(value = AlfrescoTestRunner.class)
при интеграциитестовый класс.Но как я могу получить в него бобы Spring, такие как nodeService
?И как мне объявить и сделать доступными дополнительные компоненты Spring, которые являются частью моего пользовательского модуля и требуются для успешного прохождения теста интеграции?