@Autowired возвращает null если объект используется не в шаге теста
Дано: Бины определены в классе, проаннотированным следующим образом:
@CucumberContextConfiguration
@SpringBootTest
@EnableConfigurationProperties
public class TestContext {
.....
@Bean
public Jdbc db() {
return new Jdbc();
}
.....
}
Бины инжектятся следующим образом в классах содержащих шаги:
public class TestSteps {
.....
@Autowired
private Jdbc DbTester;
public TestSteps() {
Тогда(" какой-то шаг ", () -> {
DbTester.getConnect();
}
....
}
Так всё работает, но при попытке использовать заинжектеный объект вне шага, на пример:
public class TestSteps {
.....
@Autowired
private Jdbc DbTester;
public TestSteps() {
public void connector() {
DbTester.getConnect();
}
....
}
А вот так уже получаю NPE, это связано, как я понял, с тем, что т.к. класс с бинами проаннотирован @CucumberContextConfiguration, то бины инжектятся только внутри шага.
Вопрос: как заинжектить бин вне шага, например вообще в другом классе?