是否有可能在多行上写一个小黄瓜步骤?

Dra*_*lic 13 cucumber gherkin

我是Gherkin语言的新手,这对我来说似乎是非常基本的问题,但我找不到答案.

我知道可以在Gherking中编写多行步骤参数,如下所示:

Given a blog post named "Random" with Markdown body
  """
  Some Title, Eh?
  ==============
  Here is the first paragraph of my blog post. Lorem ipsum dolor sit amet,
  consectetur adipiscing elit.
  """
Run Code Online (Sandbox Code Playgroud)

我的问题是关于在多行上编写单步,如下所示:

Given that Gherkin language allows me to write my step definitions \
   on multiple lines
Then my test cases would be easier to read :)
Run Code Online (Sandbox Code Playgroud)

在上面的例子中,我使用'\'作为行继续符号.顺便说一句,我尝试了上面的例子并得到了解析器错误.

小智 16

是的,我们可以使用三组双引号(""")在多行上写一个小黄瓜步.Gherkin将三重双引号识别为多行字符串的边界分隔符并将其传入.无论你写什么内容三组双引号之间将作为单个字符串传递给您的步骤定义.

就像我目前的水豚项目一样,我在多行上写了小黄瓜步骤,如下所示:

Scenario: Some test scenario
  Given Bob is on "www.abc.com"
  When Bob creates team "Test Team"
  Then Bob sees message:
      """
      As the Team Captain you will be responsible for paying for the team after 
      registration closes. You will be emailed instructions at the close of 
      registration.
      """
And Bob clicks "Next" button
Run Code Online (Sandbox Code Playgroud)

多线小黄瓜步骤的步骤定义:

And(/^(\S*) sees message:$/) do |user, message|
  page.should have_content(message)
end
Run Code Online (Sandbox Code Playgroud)

在这里我使用了原样传递的内容.您还可以拆分内容并根据需要使用.欲了解更多信息,请参阅以下链接:http: //asymmetrical-view.com/2011/06/02/cucumber-gherkin-and-multiline-arguments.html

希望这可以帮助 :)

  • 这是很好的信息,但不是回答问题.问题本身已经提供了相同的信息,因为我知道参数可以写在多行上.问题是关于在多行上编写没有参数的单个长Gherkin步骤.托马斯的回答至少提供了一种解决方法,如何实现这一目标,也是一种很好的做法.这就是我将其标记为正确答案的原因(至少现在:) (10认同)
  • 应该将其标记为正确答案。 (3认同)

Tho*_*erg -7

您尝试并得到了解析错误。我假设在一行上写长行不会给你带来解析错误。因此,您对自己的问题的回答是否定的。

我建议您问问自己为什么要排很长的队。想要的行为,真的需要这么多细节以至于队伍变得很长吗?

通常可以通过改写句子来更简短地表达自己的意思。您也可以使用 Gherkin 关键字 And 或 But 来打断长句子。

  • 谢谢托马斯,我接受这是正确的答案。跨多行编写单个步骤实际上是不可能的,但是可以使用 And 或 But 来实现相同的目的。 (3认同)