我们有什么办法可以在Java中使用@BeforStep和@AfterStep注释吗?

时间:2017-05-24 21:28:04

标签: java automation annotations cucumber gherkin

我们有没有办法在Java中使用带有黄瓜的@BeforStep和@AfterStep注释,以便在测试的每个测试步骤之前和之后执行这些函数。

1 个答案:

答案 0 :(得分:3)

是的,你可以。

目前你只有@ Before / @之后在每个场景之前/之后运行。

如果你想要一个用于步骤/场景/功能/套件等的钩子,你需要有一个类,比如你的钩子类实现了Cucumber Formatter和Reporter接口。

当你在类中实现这些接口时,它会自动将所有方法导入到你将要覆盖的那个类中,然后在每个方法中执行一个sysout,你会看到它自动执行。

要使其正常工作,您还需要将该文件作为插件添加到CucumberOptions中。

看看这个Hooks类: really great comparison on speed, spread and collisions on SE

另见Runner类: https://github.com/GeeChao/stag-automation-reports-parent/blob/master/stag-extentreports/src/test/java/org/stag/steps/Hooks.java