首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用标记调用特定场景,然后再调用另一个场景?

问使用标记调用特定场景,然后再调用另一个场景?
EN

Stack Overflow用户
提问于 2021-03-29 10:46:41
回答 2查看 581关注 0票数 1

如何将以下语句转换为(java脚本nodejs)黄瓜:

在@tag2之前调用@tag1

当我自动运行@tag2时,@tag1在@tag2之前被调用。

代码语言:javascript
复制
@tag1 
Scenario: populate cars
...

@tag2 
Scenario: sell car
... 

这个命令我想使用:/node_node/..bin/cucumber.js-标记"@tag2“

在这种情况下,“前面”的钩子应该会刺激标记tag1在tag2之前运行。

在这种情况下如何在钩子前写字?

代码语言:javascript
复制
 Before('@tag2', function () {
...
}

第二个问题

是否可以从标记表达式中合成标记?

情商。@tag3 = @tag1和@tag2

当运行命令时,只调用tag3: /node_node/..bin/cucumber.js-标记"@tag3“

EN

回答 2

Stack Overflow用户

发布于 2021-03-29 13:26:40

您的问题可能有一个技术解决方案,但实际上有一个哲学解决方案,这也是一个技术解决方案。

黄瓜方案应该是独立的。当单独执行时,每个场景都应该是一个完整的测试。这是合理的,你需要“填充汽车”,然后再出售。您应该创建新的Given步骤,以模拟“填充汽车”场景中描述的行为,而不是从“销售汽车”场景中调用“填充汽车”场景中的“填充汽车”场景。

由于您没有为每个场景提供步骤,我只能猜测它们可能是什么。销售汽车的场景可能类似于:

代码语言:javascript
复制
Scenario: sell car
    Given a 1972 "Ford" "Pinto" is in stock # <-- this simulates the "populate cars" step
    When ...
    Then ...

如果您的场景需要一辆以上的汽车,另一种选择是使用数据表:

代码语言:javascript
复制
Scenario: sell car
    Given the following cars are in stock: # <-- this simulates the "populate cars scenario
        | Year | Make | Model | Price |
        | 1972 | Ford | Pinto | ...   |
        | 2020 | BMW  | M3    | ...   |
    When ...
    Then ...

Given步骤的实现取决于您。这个步骤可以导航真实的用户界面,或者进行web服务调用来填充汽车。这取决于您,并取决于您有哪些API可用于您的黄瓜步骤定义。

票数 1
EN

Stack Overflow用户

发布于 2021-03-29 11:11:36

https://cucumber.io/docs/cucumber/api/#running-a-subset-of-scenarios

将语言转换为JS,您将得到所需的一切帮助。

在这种情况下,您可能希望类似于

./node/..bin/cucumber.js--标记"@tag1和@tag2“

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66852806

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档