【问题标题】:Accessing example arrays in step definition在步骤定义中访问示例数组
【发布时间】:2020-08-24 09:09:23
【问题描述】:

我正在使用 scala 编写使用 bdd cucumber 的自动化测试。我的场景大纲示例中有以下数组。

|[name:jolly-id: 1],[name: raju-id:2]|

name 和 id 可以用“-”或“,”或“;”分隔或任何分隔符。上面的例子可以有更多的数组。我如何传递上面的数组并在我的步骤定义中访问它?

【问题讨论】:

  • 对不起,我不明白你在问什么。我不知道您使用的框架,所以也许这就是我不明白的原因。但通常您可以通过分隔符将字符串拆分为数组。你问的是这个吗?像这样: val arrSplit = yourString.split(",") ?

标签: scala cucumber bdd cucumber-jvm


【解决方案1】:

当你希望你的特征表达你在做什么以及为什么它很重要,而不是包含关于你如何做某事的任何内容。任何编程结构(如数组或数据表)都是关于您如何做某事的详细信息。

如果你不采用这种思维方式,你会发现 Cucumber 的特性很难使用,因为你会一直想把代码放在里面,但特性不是代码。因此,您最终会努力翻译功能文件中定义的内容,这些内容需要在您的步骤定义中成为代码结构(例如数组、哈希)。

如果您想使用表格数组等编写技术测试,请使用单元测试工具来编写测试。您会发现这要容易得多,因为您将处理代码。

如果你想在 Cuking 上做得更好,最简单的做法就是避免以下所有情况

  • 场景大纲
  • 数据表
  • 正则表达式
  • 示例组

并专注于编写清晰简单的功能,例如

Scenario: Registered user can sign in
  Given I am registered
  When I sign in
  The I should be signed in

编写功能的唯一理由是获得一个清晰的规范并了解您的应用程序的功能,以便业务用户和开发人员都能理解。如果您不想要或不需要这个,请不要使用 Cucumber。如果您确实想要这样做,您需要更改编写功能的方式并将所有 HOW 下推到步骤定义和辅助方法中。

祝你好运:)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-07-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-23
    • 2012-08-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多