在场景执行之前调用所有@Before和@After场景方法

时间:2019-10-09 13:19:25

标签: java cucumber cucumber-jvm

我有一个包含某些方案的功能文件,并且为所有方案定义了步骤定义(.java文件)。在每个步骤定义中,我都有@BeforebeforeScenario)和@AfterafterScenario)函数。问题在于,在执行每个方案之前,将调用所有步骤定义中所有定义的@Before@After方法。

有没有一种方法可以实现它,使得仅当执行某个方案时,才执行该方案的步骤定义文件中的@Before@After方案方法,而不执行该方法中的方法。其他步骤定义。

1 个答案:

答案 0 :(得分:1)

这是在每种情况下运行之前先运行的默认属性,但是如果要执行特定的操作,请使用标记执行以下操作 您可以使用以下标记名称:

功能文件:

@First 
Scenario: This is First Scenario
 Given this is the first step
 When this is the second step
 Then this is the third step

钩子/步骤定义Java文件:

 @Before("@First")
    public void beforeFirst(){
        System.out.println("This will run only before the First Scenario");
    } 

之前仅将在此场景下运行,您可以在功能文件中与其他场景一起使用相同的标记,并在此之前调用它:

来源以及更多详细信息:

https://www.toolsqa.com/cucumber/tagged-hooks-in-cucumber/