单个特征文件中的多个特征

Multiple feature inside single feature file

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

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

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

单个功能文件中不能包含多个功能。如果您在单个功能文件中创建多个功能,您将在 运行 黄瓜场景时出现 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)

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

  • Writing scenario and steps definition in Gherkin Language or simple English is must support other audience.

  • All scenario should be executed Independently. No dependency on other scenario or feature file

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

同意@philip John