Cucumber 黄瓜的数据驱动测试

Cucumber 黄瓜的数据驱动测试,cucumber,yaml,data-driven-tests,Cucumber,Yaml,Data Driven Tests,我必须测试一个消息路由应用程序,其功能大致如下: -消息被发送到应用程序 -应用程序检查消息 -根据消息的内容,消息被转发到某个地方 绝大多数测试用例几乎相同;生成特定类型的消息,将其加载到系统中,等待几秒钟,然后检查所需的目的地以确保消息已正确转发 有没有一种推荐的方法来生成一个测试用例,并让它在所有(消息、必需的目的地)元组中重复循环,而不是在Cucumber中生成100个几乎相同的测试用例?为了便于维护,我更愿意将这些元组维护到YAML文件中,而不是数据库中,但任何一种解决方案都可以。我在

我必须测试一个消息路由应用程序,其功能大致如下: -消息被发送到应用程序 -应用程序检查消息 -根据消息的内容,消息被转发到某个地方

绝大多数测试用例几乎相同;生成特定类型的消息,将其加载到系统中,等待几秒钟,然后检查所需的目的地以确保消息已正确转发


有没有一种推荐的方法来生成一个测试用例,并让它在所有(消息、必需的目的地)元组中重复循环,而不是在Cucumber中生成100个几乎相同的测试用例?为了便于维护,我更愿意将这些元组维护到YAML文件中,而不是数据库中,但任何一种解决方案都可以。

我在cucumber中没有这种情况,但我确实在规范中使用管道分隔的文件进行大规模数据测试,希望这能有所帮助:

您可以找到示例和


我不明白为什么同样的方法不能用于cucumber。

您应该尝试使用示例来概述场景

正常情景

Scenario: Login
  Given I am on login page
  When I enter username "Jonas" and password "secrect" and press login
  Then I get redirected to "Jonas Home Page"
情景大纲

Scenario Outline: Login
  Given I am on login page
  When I enter username <username> and password <password> and press login
  Then I get redirected to <redirect_page>

Examples:
  | username | password | redirect_page     |
  | "Jonas"  | "secret" | "Jonas Home Page" |
  | "Anna"   | "Data"   | "Annas Home Page" |
场景大纲:登录
假设我在登录页面上
当我输入用户名和密码并按login时
然后我被重定向到
示例:
|用户名|密码|重定向|页面|
|“Jonas”|“秘密”|“Jonas主页”|
|“安娜”|“数据”|“安娜主页”|
阅读更多:

谢谢迪姆斯。我可以想出许多可能的方法来实现它——就此而言,让代码遍历我的YAML文件并为每种消息类型编写一个新的Cucumber场景会很好——但我主要感兴趣的是,是否有一种Cucumber“原生”或“推荐”的实现方法。