我在代码中使用场景大纲,并希望在场景大纲开始之前执行一些代码,并在场景大纲执行完成后执行一些代码。
我知道黄瓜中有 @Before 和 @After 注释,但这些注释会在每个场景之前和之后执行。因此,如果我有一个场景大纲和 3 行示例数据,那么 @Before 和 @After 将分别执行,即总共执行 3 次。
但我只想执行一次,@Before 场景大纲和@After 场景大纲就是这样!在cucumber-jvm中有什么办法可以实现这一点吗?
//@Before (some code that should be executed before scenario outline execution begins)
Scenario outline
....
Examples:
|Header1 | Header2 | ..etc
|Data1 | Data2 |
//@After (some code that should be executed after scenario outline execution ends)
据我所知,没有直接的方法,但您可以标记您的场景并使用标签的 before 和 after 挂钩作为解决方法。
这是一个例子:
Feature: ExampleTagging
@DoBeforeScenarioX
Scenario outline
....
Examples:
|Header1 | Header2 | ..etc
|Data1 | Data2 |
然后您可以在 Java 代码中使用它:
@Before("@DoBeforeScenarioX")
public void do_this_before_scenarioX() {....}
@After("@DoBeforeScenarioX")
public void do_this_after_scenarioX() {....}
以下是描述的标签:https://github.com/cucumber/cucumber/wiki/Tags https://github.com/cucumber/cucumber/wiki/Tags
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)