Cucumber 提问前的黄瓜

Cucumber 提问前的黄瓜,cucumber,Cucumber,好吧,我不确定我做错了什么,但我的项目设置如下: 顶级软件包/ 包含一个要素文件的要素包/ 包含一个页面类的页面包/ 包含一个步骤页的步骤包/ 包含runner类和“hook”类的Utils包+仅包含传递的web驱动程序的类 在Hook类中,我用@Before注释了方法。现在,如果我进入功能文件,右键单击一个场景并运行它,hook类中的方法将被称为np,并且一切正常 如果我进入runner类并从那里运行测试,则不会调用该方法,并且会首先调用step类中的step方法 如果我在Step类中加入@B

好吧,我不确定我做错了什么,但我的项目设置如下:

顶级软件包/ 包含一个要素文件的要素包/ 包含一个页面类的页面包/ 包含一个步骤页的步骤包/ 包含runner类和“hook”类的Utils包+仅包含传递的web驱动程序的类

在Hook类中,我用@Before注释了方法。现在,如果我进入功能文件,右键单击一个场景并运行它,hook类中的方法将被称为np,并且一切正常

如果我进入runner类并从那里运行测试,则不会调用该方法,并且会首先调用step类中的step方法

如果我在Step类中加入@Before方法,这很好,但我不想重复我的代码,我该如何解决这个问题


编辑:很抱歉,我不知道为什么缩进看起来很糟糕。

您给runner类的“glue”选项的值是否包括具有before方法的hook类的类路径。。。理想情况下,您应该将钩子移动到与步骤定义类相同的包结构中……就是这样,在glue中,我只指定了步骤包的路径,而没有指向钩子。谢谢