我当前的Cucumber文件如下所示:
功能:测试在线申请页面
场景:访问应用程序主页和测试链接
场景:访问应用程序登录并验证登录
所以现在我想在同一个文件中添加更多可能用于API测试的场景。所以我想为此创建一个新功能,而不是使用功能:测试在线应用程序页面。这样我就不需要为API测试创建单独的功能文件。
功能:测试在线申请页面
Scenario: Visit application home page and test links
Scenario: Visit application Login and Validate login
功能:测试应用程序API
Scenario: validate Login API
是否可以在单个要素文件中包含多个要素,这是一个好习惯吗?我只需要测试一个API,我将运行API测试以及在线测试。我仍然会使用@online和@api标签将它们分开。
答案 0 :(得分:18)
单个要素文件中不可能有多个要素。如果在单个特征文件中创建多个特征,则在运行黄瓜场景时将获得Gherkin Parser异常。所以答案是否定的。
C:/Users/ABC/RubymineProjects/XYZ.feature: Lexing error on line 47: 'Feature test google'. See http://wiki.github.com/cucumber/gherkin/lexingerror for more information. (Cucumber::Core::Gherkin::ParseError)
答案 1 :(得分:1)
嗯,这显然不是一个好习惯。最好在功能文件中放置一个功能。您应该创建新的功能文件来执行此操作。但您可以在单个要素文件中添加任意数量的方案。
相应的步骤可能在也可能不在单个步骤文件中。
答案 2 :(得分:0)
在BDD中,黄瓜也是为非技术人员设计的。
用小黄瓜语言或简单的英语来定义写作场景和步骤必须支持其他受众。
所有方案均应独立执行。不依赖其他方案或功能文件
根据我过去的经验,增加更多的复杂性将增加更多的不稳定测试和较高的维护成本
同意@philip John