Когда я пытаюсь запустить тест на огурец, тест выполняется, но поля с автопроводкой равны нулю в классе определений шагов
Мой pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
........
<!-- https://mvnrepository.com/artifact/io.cucumber/cucumber-java -->
<dependency>
<groupId>io.cucumber</groupId>
<artifactId>cucumber-java</artifactId>
<version>4.2.0</version>
<scope>test</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/io.cucumber/cucumber-junit -->
<dependency>
<groupId>io.cucumber</groupId>
<artifactId>cucumber-junit</artifactId>
<version>4.2.0</version>
<scope>test</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/io.cucumber/cucumber-spring -->
<dependency>
<groupId>io.cucumber</groupId>
<artifactId>cucumber-spring</artifactId>
<version>4.2.0</version>
<scope>test</scope>
</dependency>
......
<dependency>
<groupId>net.serenity-bdd</groupId>
<artifactId>serenity-core</artifactId>
<version>${serenity.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>net.serenity-bdd</groupId>
<artifactId>serenity-junit</artifactId>
<version>${serenity.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>net.serenity-bdd</groupId>
<artifactId>serenity-screenplay</artifactId>
<version>${serenity.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>net.serenity-bdd</groupId>
<artifactId>serenity-screenplay-webdriver</artifactId>
<version>${serenity.version}</version>
<scope>test</scope>
</dependency>
<!-- <dependency> -->
<!-- <groupId>net.serenity-bdd</groupId> -->
<!-- <artifactId>serenity-cucumber</artifactId> -->
<!-- <version>${serenity.cucumber.version}</version> -->
<!-- <scope>test</scope> -->
<!-- </dependency> -->
<dependency>
<groupId>net.serenity-bdd</groupId>
<artifactId>serenity-cucumber4</artifactId>
<version>1.0.4</version>
<scope>test</scope>
</dependency>
.........
</project>
Мой класс огурцов
@RunWith(CucumberWithSerenity.class)
@CucumberOptions(glue = "fr.mycompany.cucumber.scenarios.subscriber", features = { "src/test/resources/cucumber/scenarios/subscriber" })
public class CucumberStepDefinitions {
}
Мой класс определения шага огурца
public class SubscriberSteps extends IntegrationTest {
@Autowired
private SubscriberBean subscriberBean;
@Autowired
private SubscriberService subscriberService;
@When("^The user make a susbscription$")
public void The_user_make_a_susbscription() {
System.out.println("Run");
SubscriptionData data = SubscriptionDataBuilder.build();
Subscriber subscriber = subscriberService.subscription(data);
assertThat(subscriber).overridingErrorMessage("Subscription
failed").isNotNull();
subscriberBean.setSubscriber(subscriber);
}
........
}
Класс IntegrationTest
@SpringBootTest(classes = SpringBootCucumberConfig.class)
public class IntegrationTest extends AbstractTestNGSpringContextTests {
@Autowired
private GenericService genericService;
@Test
public void test() {
}
........
}
Мой весенний загрузочный класс приложений
@SpringBootApplication(scanBasePackages = { "fr.mycompany.cucumber" })
public class SpringBootCucumberConfig {
public static void main(String[] args) {
SpringApplication.run(SpringBootCucumberConfig.class, args);
}
}
Класс обслуживания
@Service
public class SubscriberService {
@Autowired
private SubscriberRepository subscriberRepository;
.......
}
Когда я запускаю сценарий, тест выполняется, но на шаге подписки «Пользователь делает подписку», когда я отлаживаю, я вижу поля autowired subscriberBean и subscriberService, но когда я запускаю тест junit, это работа
Не эти два поля, но все поля с автопроводкой имеют значение null