我有一个包含许多步骤的场景,其目的是生成数据,例如:
Scenario: Data generation
Given dataGen statement 1
And dataGen statement 2
...
And dataGen statement 100
我希望将这整个场景(即所有100个语句)用作另一个场景中的单个步骤。我想做点什么:
scenario: Data generation and then assert
(everything in previous scenario)
Then I assert my assertion
但是复制和粘贴所有东西都是愚蠢的。
黄瓜是否有办法将场景调用作为一个步骤? 或者将100语句组合成一个整体的结构并调用它?
谢谢,
答案 0 :(得分:0)
不确定是否有办法在cucumber-jvm中调用另一个方案步骤。在ruby实现中允许某种嵌套步骤。你可以试试下面的java。
将您的场景转换为场景大纲,其中两个表具有自己的标记。当您只想生成数据时,将@Data
标记传递给您的跑步者类cucumberoptions
。并且@DataAndAssert
当需要两个操作时。将断言步骤中的逻辑基于布尔标志的值。
Scenario Outline: Data generation and then assert
Given dataGen statement 1
And dataGen statement 2
...
And dataGen statement 100
Then I assert my assertion <flag>
@Data
Examples: Data Generation Only
| flag |
| false |
@DataAndAssert
Examples: Data Generation And Assertion
| flag |
| true |