如何将JSON从外部文件导入黄瓜功能文件(Javascript / Node版本)?

时间:2019-03-05 21:47:07

标签: javascript cucumber gherkin cucumberjs

在我们的一项测试中,出于以下两个原因,必须将POST操作的JSON有效负载外部化:

  1. JSON有效负载因环境而异,我们不想将其绑定在功能文件中
  2. 它的结构有点复杂,我们不希望功能步骤过分夸张

下面是一个示例测试示例,它将提供更多上下文:

@post-operation
Scenario: Verify that POST /<some url> is successful
    Given I have a valid access token from Ping
    ** import JSON payload from external file, store it in context and use it here or in Gherkin definition that implements below step ** 
    When I POST to /<some url>
    And response code should be 200
    And ** some more actions **

将感谢您的答复。谢谢。

1 个答案:

答案 0 :(得分:2)

给有效载荷命名,然后在您的步骤定义中获得有效载荷,或者在您的步骤定义中调用更好的帮助方法。

重写您的方案,以便与其谈论您的工作方式,不如谈论您的工作以及其重要性。该场景甚至不应该提及POST,URL,响应代码之类的东西,而应该在谈论您通过这种交互所实现的目标。

如果您真的不想采用这种方法,请改用单元测试工具,它更适合您的场景所要做的事情,并且在获取外部事物时不会遇到同样的问题,因为你总是在代码中。