Ruby on rails 黄瓜中的多步骤工作流

Ruby on rails 黄瓜中的多步骤工作流,ruby-on-rails,cucumber,tdd,bdd,Ruby On Rails,Cucumber,Tdd,Bdd,我正在用cucumber在rails中开发一个应用程序 该应用程序包括一个包含多个步骤的工作流 有些步骤是 用户导入文件(3个不同的文件) 其他用户对导入的数据进行一些检查 其他用户输入一些参数 其他用户将参数应用于导入的数据 等等 这些步骤必须以正确的顺序执行,我必须运行前面的所有步骤才能执行每一个步骤,例如,应用导入数据和定义参数所必需的参数 我的问题是如何在这种情况下构建场景/特性。 我知道一个场景不应该调用前面的所有场景,但我唯一的另一个想法是创建一个执行所有这些步骤的非常长的场景,

我正在用cucumber在rails中开发一个应用程序

该应用程序包括一个包含多个步骤的工作流

有些步骤是

  • 用户导入文件(3个不同的文件)
  • 其他用户对导入的数据进行一些检查
  • 其他用户输入一些参数
  • 其他用户将参数应用于导入的数据
  • 等等
这些步骤必须以正确的顺序执行,我必须运行前面的所有步骤才能执行每一个步骤,例如,应用导入数据和定义参数所必需的参数

我的问题是如何在这种情况下构建场景/特性。 我知道一个场景不应该调用前面的所有场景,但我唯一的另一个想法是创建一个执行所有这些步骤的非常长的场景,这是有意义的,因为它将是一个包含200多个步骤的场景

在这种情况下,你有没有想过用一种务实的方式来实施cucumber


许多TK听起来好像你每次都要做每件事

您的系统的每次使用是否都包括导入三个文件?是否存在用户可能只需要导入两个文件的情况?如果总是导入三个文件,那么您可以将该步骤抽象为

given the files are imported
必须经常做的事情可以合并到一些通用设置中。由于设置从未更改,因此可能无需提及详细信息

不过,根据我的经验,一开始很难将场景分开,并尝试在几个场景中用很多步骤做太多的事情。如果你看不到其他方法,就从那里开始。看看您的场景,看看它们是否可以分为两个独立的场景。可以将其分为两个独立的场景。下一步是看看这两个新的场景是否可以划分为两个更小、独立的场景。碰巧这是可能的


很明显,黄瓜不是你需要的工具。使用单元测试框架可能会更好。

Excellent。这正是我要问的。回答你的问题,是的,系统的每一次使用都包括导入三个文件。那么在场景中我甚至可能不会提到它。有点像说当你使用程序时你必须呼吸。当然,你必须呼吸,但这不是我们在场景中提到的。