Ruby 单个要素文件中的多个要素

Ruby 单个要素文件中的多个要素,ruby,cucumber,gherkin,Ruby,Cucumber,Gherkin,我当前的Cucumber文件如下所示: Feature: Test Online application Page Scenario: Visit application home page and test links Scenario: Visit application Login and Validate login 因此,现在我想在同一个文件中添加更多的API测试场景。所以我想为它创建一个新功能,而不是使用这个功能:在线测试应用程序页面。这样,我就不需要为API测试创建单独的功能

我当前的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标记将它们分开。

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


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

不可能在单个功能文件中包含多个功能。若您在一个特性文件中创建多个特性,那个么在运行cucumber场景时将出现Gherkin解析器异常。所以答案是否定的

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)

在BDD中,cucumber也是为非技术观众设计的

  • 使用小黄瓜语言或简单英语编写场景和步骤定义必须支持其他受众

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

根据我过去的经验,增加更多的复杂性会增加更多的测试和高维护成本


同意@philip John

谢谢philip。是否可以在一个要素文件中包含两个要素?只是好奇……:)我不确定。。我还没试过。。你自己不试试吗:-)