Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cucumber Scenrio大纲的设置和拆卸(jvm)_Cucumber_Cucumber Jvm_Cucumber Junit - Fatal编程技术网

Cucumber Scenrio大纲的设置和拆卸(jvm)

Cucumber Scenrio大纲的设置和拆卸(jvm),cucumber,cucumber-jvm,cucumber-junit,Cucumber,Cucumber Jvm,Cucumber Junit,我在代码中使用了场景大纲,希望在场景大纲开始之前执行一些代码,在场景大纲执行完成之后执行一些代码 我知道cucumber中有@Before和@After注释,但在每个场景之前和之后都会执行这些注释。因此,如果我有一个场景大纲和3行示例数据,那么@Before和@After将分别执行,即总共执行3次 但我只想执行一次,在场景大纲之前和场景大纲之后就是这样!有什么办法可以在中国实现这一点吗 //@Before (some code that should be executed before sce

我在代码中使用了场景大纲,希望在场景大纲开始之前执行一些代码,在场景大纲执行完成之后执行一些代码

我知道cucumber中有@Before和@After注释,但在每个场景之前和之后都会执行这些注释。因此,如果我有一个场景大纲和3行示例数据,那么@Before和@After将分别执行,即总共执行3次

但我只想执行一次,在场景大纲之前和场景大纲之后就是这样!有什么办法可以在中国实现这一点吗

//@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)

据我所知,没有直接的方法,但您可以标记您的场景,并使用标记的前后挂钩作为解决方法

以下是一个例子:

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() {....}
以下是描述的标签: