【问题标题】:Scenarios definition for JWT/API Process with Cucumber/Behat使用 Cucumber/Behat 的 JWT/API 流程的场景定义
【发布时间】:2018-03-28 16:19:35
【问题描述】:

我有一个场景,基本上: - 授权 (JWT) 用户访问我的 API - 如果用户存在,则信息与数据库同步,如果不存在,则创建 - ETC ETC

我的问题是,我将如何继续创建这个场景?请求中应该包含很多(好的,4 个)参数,但我不想用可能混淆阅读场景的普通用户的信息来污染场景。

这就是我所拥有的:

  Scenario: Non Existent user access the API
    Given an authorized user access the API
    And user does not exist on API database
    When user access the API
    Then user details are added to API database
    And user does exist on API database

访问 api 的用户将拥有:电子邮件、auth0_id、昵称和姓名。只是不确定我是否应该在场景中编码这些信息,或者以某种方式在上下文文件中进行。

编辑: 我可以在 Context 文件中而不是在 .feature 文件中设置一些“参数”吗?即在功能文件上我说“不存在的用户访问应用程序”并在上下文文件中,在与此步骤关联的函数中,我确保我创建了一个在数据库中不存在的用户等等?这是将想法与 .feature 场景分开的好方法吗?

谢谢

【问题讨论】:

    标签: cucumber behat


    【解决方案1】:

    我会这样写:

    Scenario: API - new user access the API
       Given I have a new user
       When I access the API with the new user
       Then the user is added to the API database

    第一步将生成用户详细信息并将其保存在变量中,第二步将调用 api(使用保存的变量并生成 JWT),最后一步将检查 api 中的详细信息。

    您可以将new 声明为参数,例如:

    @Then /^I access the API with the (new|other_user) user$/

    无论如何,您应该以一种您可以轻松重用的方式尽可能简单地声明它。

    【讨论】:

    • 这很好 - 所以每一个“步骤”都可以枯萎准备场景和/或断言一些东西。谢谢,真的很有帮助
    • 您在步骤中定义您需要的操作并检查例如对 api 的调用是否成功,在最后一步中您可以进行详细验证。
    猜你喜欢
    • 1970-01-01
    • 2018-07-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多