黄瓜

时间:2017-03-31 22:11:12

标签: ruby-on-rails cucumber tdd bdd

我正在用黄瓜开发一个应用程序。

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

有些步骤

  • 用户导入文件(3个不同的文件),
  • 其他用户对导入的日期做了一些检查,
  • 其他用户输入一些参数,
  • 其他用户将参数应用于导入的数据

必须以正确的顺序执行这些步骤,并且我必须运行所有先前的步骤才能执行每个步骤,例如应用必要的参数来导入数据和定义参数。

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

在这种情况下,是否有实用黄瓜的实用方法?

很多Tks

1 个答案:

答案 0 :(得分:0)

听起来好像你每次都必须完成所有事情。

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

given the files are imported

总是必须完成的事情可以合并到一些通用设置中。由于设置永远不会改变,因此可能没有必要详细说明。

我的经验是,在开始时很难将场景分开并尝试在一些具有多个步骤的场景中做太多。如果您没有看到任何其他方式,请从那里开始。查看您的场景,看看它们是否可能分成两个独立的场景。可以将其分成两个独立的场景。下一步是看看这两种新方案是否可以划分为两个较小的独立方案。它有可能发生。

Cucumber显然不是您需要的工具。使用单元测试框架可能会更好。