在Cucumber中,Before和After钩子可以放在步骤定义文件(Step Definitions)中或者在支持代码中。下面是两种解决方法的示例代码:
import cucumber.api.java.Before;
import cucumber.api.java.After;
public class StepDefinitions {
@Before
public void setup() {
// 在每个场景(Scenario)执行之前运行此代码
System.out.println("Before hook");
}
@After
public void teardown() {
// 在每个场景(Scenario)执行之后运行此代码
System.out.println("After hook");
}
// 其他步骤定义代码...
}
import cucumber.api.Scenario;
import cucumber.api.java.Before;
import cucumber.api.java.After;
public class Hooks {
@Before
public void setup(Scenario scenario) {
// 在每个场景(Scenario)执行之前运行此代码
System.out.println("Before hook");
}
@After
public void teardown(Scenario scenario) {
// 在每个场景(Scenario)执行之后运行此代码
System.out.println("After hook");
}
}
在这两种方法中,你可以根据需要在Before和After钩子中执行任何自定义操作。