Удаленка для jenkins+selenide+selenoid+allure+docker спецов на 2-3 часа в день. 100% remote! Присоединиться к проекту

Spring 5 + TestNG Listeners - проблема: в Listener классах не виден Spring context, все autowired поля бросают NPE - как пофиксить ?

listeners
spring
java
testng
Теги: #<Tag:0x00007fedbc61abf0> #<Tag:0x00007fedbc61a8a8> #<Tag:0x00007fedbc61a740> #<Tag:0x00007fedbc61a600>

(Taras) #1

Проблема (Вопрос) заключается …
Spring 5 + TestNG Listeners - проблема: в Listener классах не виден Spring context, все autowired поля бросают NPE

Поведение точно такое как описано здесь
https://groups.google.com/forum/#!topic/testng-users/0-1ZGzUO_BY

Кто то стикался ?


(Taras) #2

Проблема решена

@Component
public class ApplicationContextHolder implements ApplicationContextAware {
	
	private static ApplicationContext context;

    @Override
    public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
        context = applicationContext;   
    }

    public static ApplicationContext getContext() {
        return context;
    }
    
    public static <T> T getBean(Class<T> clazz) {
    		return ApplicationContextHolder.getContext().getBean(clazz);
    }

}

В лисенере:
ApplicationContextHolder.getBean(WebDriver.class)

Не филигранно, но работает ))