Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/magento/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
有没有办法在动态生成的数据列表上多次运行cucumber场景?_Cucumber - Fatal编程技术网

有没有办法在动态生成的数据列表上多次运行cucumber场景?

有没有办法在动态生成的数据列表上多次运行cucumber场景?,cucumber,Cucumber,例如,我有一个产品的ID列表,该产品位于数据库中,并且每天都会更新。我需要能够运行一个使用该数据的场景,并按顺序在每个ID上运行相同的步骤。但是,测试不应该停止,因为其中一个ID在场景中失败,类似于Cumber对场景大纲类型的测试所做的操作 我们还希望格式化cucumber测试的输出,以便将每个id格式化为“场景大纲”中的单独测试或示例。我相信我不久前也做过类似的事情。看看这个 “然后我应该能够进入浏览类别页面”“操作已定义,如您所见,第59行的类别从中检索数据。在本例中,我从CSV文件中获取数

例如,我有一个产品的ID列表,该产品位于数据库中,并且每天都会更新。我需要能够运行一个使用该数据的场景,并按顺序在每个ID上运行相同的步骤。但是,测试不应该停止,因为其中一个ID在场景中失败,类似于Cumber对场景大纲类型的测试所做的操作


我们还希望格式化cucumber测试的输出,以便将每个id格式化为“场景大纲”中的单独测试或示例。

我相信我不久前也做过类似的事情。看看这个

然后我应该能够进入浏览类别页面”“操作已定义,如您所见,第59行的类别从中检索数据。在本例中,我从CSV文件中获取数据,但您可以用DB替换它


我的Ruby有点基础,所以代码风格看起来可能不太好,但这是一个我可以轻松解释我所做的事情的示例。希望这有帮助

Cucumber不适合在特征文件中写入复杂信息, 若您的数据是复杂的,或者是动态生成的,那个么您应该在步骤定义中获取数据,并在要素文件中编写一个通用术语


这就是cucumber的意图,编写简单的功能,以便非技术人员能够轻松理解场景正在做什么。

您试图证明的是什么行为,系统处理各种数据还是数据库中的数据是好的?这两种方法都可以在不改变cucumber意图的情况下完成。Dave,我正在尝试运行相同的场景,在我们从数据库获得的每个id之前运行一次。我们想测试使用该id描述的网站的一些功能,但如果其中一个id导致某个步骤失败,我们不想停止测试。Cucumber证明了该行为。在设计场景时,我从没有数据开始,然后加载场景所需的数据。这些数据是为了证明某些东西。如果我想证明真正的长类别名称,我将加载具有长名称的类别。如果我想证明分页,我将加载比页面上适合的类别更多的类别。如果我试图确保所有类别都可以打开,那么我不会为此使用cucumber。这不是行为,这是内容。