有没有办法在动态生成的数据列表上多次运行cucumber场景?
例如,我有一个产品的ID列表,该产品位于数据库中,并且每天都会更新。我需要能够运行一个使用该数据的场景,并按顺序在每个ID上运行相同的步骤。但是,测试不应该停止,因为其中一个ID在场景中失败,类似于Cumber对场景大纲类型的测试所做的操作有没有办法在动态生成的数据列表上多次运行cucumber场景?,cucumber,Cucumber,例如,我有一个产品的ID列表,该产品位于数据库中,并且每天都会更新。我需要能够运行一个使用该数据的场景,并按顺序在每个ID上运行相同的步骤。但是,测试不应该停止,因为其中一个ID在场景中失败,类似于Cumber对场景大纲类型的测试所做的操作 我们还希望格式化cucumber测试的输出,以便将每个id格式化为“场景大纲”中的单独测试或示例。我相信我不久前也做过类似的事情。看看这个 “然后我应该能够进入浏览类别页面”“操作已定义,如您所见,第59行的类别从中检索数据。在本例中,我从CSV文件中获取数
我们还希望格式化cucumber测试的输出,以便将每个id格式化为“场景大纲”中的单独测试或示例。我相信我不久前也做过类似的事情。看看这个 “然后我应该能够进入浏览类别页面”“操作已定义,如您所见,第59行的类别从中检索数据。在本例中,我从CSV文件中获取数据,但您可以用DB替换它
我的Ruby有点基础,所以代码风格看起来可能不太好,但这是一个我可以轻松解释我所做的事情的示例。希望这有帮助 Cucumber不适合在特征文件中写入复杂信息, 若您的数据是复杂的,或者是动态生成的,那个么您应该在步骤定义中获取数据,并在要素文件中编写一个通用术语
这就是cucumber的意图,编写简单的功能,以便非技术人员能够轻松理解场景正在做什么。您试图证明的是什么行为,系统处理各种数据还是数据库中的数据是好的?这两种方法都可以在不改变cucumber意图的情况下完成。Dave,我正在尝试运行相同的场景,在我们从数据库获得的每个id之前运行一次。我们想测试使用该id描述的网站的一些功能,但如果其中一个id导致某个步骤失败,我们不想停止测试。Cucumber证明了该行为。在设计场景时,我从没有数据开始,然后加载场景所需的数据。这些数据是为了证明某些东西。如果我想证明真正的长类别名称,我将加载具有长名称的类别。如果我想证明分页,我将加载比页面上适合的类别更多的类别。如果我试图确保所有类别都可以打开,那么我不会为此使用cucumber。这不是行为,这是内容。