【问题标题】:Multiple feature inside single feature file单个特征文件中的多个特征
【发布时间】:2015-08-16 11:05:43
【问题描述】:

我当前的 Cucumber 文件如下所示:

Feature: Test Online application Page

Scenario: Visit application home page and test links

Scenario: Visit application Login and Validate login

所以现在我想在同一个文件中添加更多可能用于 API 测试的场景。所以我想为此创建一个新功能,而不是使用功能:测试在线应用程序页面。这样我就不需要为 API 测试创建单独的功能文件了。

Feature: Test Online application Page

     Scenario: Visit application home page and test links

     Scenario: Visit application Login and Validate login

Feature: Test application API's

    Scenario: validate Login API

是否可以在单个功能文件中包含多个功能,这是一个好习惯吗?我只需要测试一个 API,我将运行 API 测试和在线测试。我仍然会使用@online 和@api 标签将它们分开。

【问题讨论】:

    标签: ruby cucumber gherkin


    【解决方案1】:

    单个功能文件中不可能有多个功能。如果在单个特征文件中创建多个特征,则在运行黄瓜场景时会出现 Gherkin Parser 异常。所以答案是否定的。

    C:/Users/ABC/RubymineProjects/XYZ.feature: Lexing error on line 47: 'Feature test google'. See https://github.com/cucumber-attic/gherkin2/wiki/LexingError for more information. (Cucumber::Core::Gherkin::ParseError)
    

    【讨论】:

      【解决方案2】:

      嗯,这显然不是一个好习惯。最好将单个功能放入功能文件中。您应该为此创建新的功能文件。但您可以在单个功能文件中添加任意数量的场景。

      相应的步骤可能在一个步骤文件中,也可能不在一个步骤文件中。

      【讨论】:

      • 谢谢菲利普。是否可以在一个功能文件中包含两个功能?只是好奇... :)
      • 我不确定..还没有尝试过..你自己试试吧:-)
      【解决方案3】:

      在 BDD 中,cucumber 也是为非技术人员设计的。

      • 用 Gherkin 语言或简单的英语编写场景和步骤定义必须支持其他受众。

      • 所有场景都应该独立执行。不依赖其他场景或功能文件

      在我过去的经验中,增加更多的复杂性会增加更多的不稳定测试和高维护成本

      同意@philip John

      【讨论】:

        猜你喜欢
        • 2022-04-26
        • 2017-09-12
        • 2019-06-13
        • 1970-01-01
        • 2016-12-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多