如何在 cucumber-js 中测试结果是多行字符串?

How to test in cucumber-js a that a result is a multi line string?

我想测试一个步骤的结果是否有特定值,但这个值是一个多行字符串,包含 |- 和任何特殊字符。

字符串可能如下所示:

{ ------- }|
{aaaaaaaaaa|
{aaaaaaaaaa|

我不确定如何在功能中执行此操作,因为这会引发语法错误:

Feature: asdada

  Scenario: test
    Given test
    When test
    Then the result is:
      { ------- }|
      {aaaaaaaaaa|
      {aaaaaaaaaa|

不要这样做,你只会让你的场景变得非常脆弱。而是给字符串一个名称并在场景中使用该名称,例如Then I should see the foo result。现在您可以将字符串比较委托给步骤定义,并根据您的选择定义 foo 结果。

场景是关于记录您正在做的 what 并且 why 它很重要。结果的格式是关于 how 你正在做的事情。如果你把方法放在场景中,那么每次你改变你做某事的方式时,你都必须改变场景。这使得小的改变变得更加昂贵。

示例来自

感谢 Grasshopper 的回答。

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.
  """