Java:@AfterStep、@BeforeStep在cucumber中不起作用
在我的Java和maven项目中,我使用cucumber进行BDD测试
以下是我使用的依赖项:
<dependency>
<groupId>io.cucumber</groupId>
<artifactId>cucumber-java</artifactId>
<version>4.2.0</version>
</dependency>
我的Hooks
类:
import cucumber.api.java.After;
import cucumber.api.java.Before;
import cucumber.api.java.AfterStep;
import cucumber.api.java.BeforeStep;
public class Hooks {
@Before
public void init() {
System.out.println( " Before Scenario " );
}
@After
public void cleanUp() {
System.out.println( " After Scenario " );
}
@BeforeStep
public void beforeStep() {
System.out.println("======> This is before step <======");
//Do something before executing the step
}
@AfterStep
public void afterStep() {
System.out.println("======> This is after step <======");
}
}
但是当我运行cumber测试时,它只打印Before Scenario
和After Scenario
与此同时,我希望看到,This is before step
和This is after step
在之前和在每个步骤之后
那么,为什么@AfterStep
和@BeforeStep
不起作用呢
# 1 楼答案
看看这个小片段,它正在发挥作用
假设以下结构
pom。xml
TestRunner。java
步骤定义。java
钩子。java
演示。功能
运行测试
产生以下输出