【问题标题】:Adding negative tests to my dredd/hook CircleCI test suite (API document on apiary), Relevant? Other tools?向我的 dredd/hook CircleCI 测试套件(养蜂场上的 API 文档)添加负面测试,相关吗?其他工具?
【发布时间】:2017-05-27 15:54:55
【问题描述】:

我们正在使用 dredd 来测试我们的 API,并且一直在使用 python 钩子来成功地分离 API 文档,但是 dredd 将它从测试逻辑的其余部分中使用。

我的问题是:是否可以将负面测试纳入我们的工作流程?如果是这样,最有效的方法/工具是什么?

举几个例子来说明:

  1. 当用户输入正确的凭据(用户名、密码)时,我们有一个验证 200 响应的登录。但是我们还想为错误的凭据添加一个测试,该测试也会在运行“dredd”命令时运行,为此我们需要运行两次登录请求 - 一次用于正确的凭据,一次用于错误的凭据。

问题: - 目前我们不知道如何以不同的逻辑为每次执行多次运行任何请求

  1. 我们有一个获取用户配置文件详细信息,我们希望在测试套件开始时运行一次(在创建之后立即运行),并在执行所有其他请求后运行一次(添加测量、加入/离开组等)。

问题: - 目前我们不知道如何以不同的逻辑为每次执行多次运行任何请求

问题很简单,我确信一定有某种方法可以做到这一点 - 但如果我们在正确的地方寻找答案,这也很有帮助......为此找到了正确的工具什么样的任务?

【问题讨论】:

    标签: circleci web-testing web-api-testing apiary dredd


    【解决方案1】:

    API 蓝图支持指定多个请求和响应(多对多)。以下结构是有效的 API 蓝图操作:

    # POST [/something]
    
    + Request (application/json)
    + Request (application/xml)
    + Response 200
    + Response 500
    
    + Request (text/plain)
    + Response 415
    + Response 500
    

    Dredd 对此有支持,尽管有限。 You need to have them as request-response pairs:

    # POST [/something]
    
    + Request (application/json)
    + Response 200
    
    + Request (application/json)
    + Response 500
    

    如果您从同一个 API 蓝图生成文档,我建议您将其拆分为两个文档。第一个带有正面场景,将被测试并呈现给用户,第二个带有负面场景,将被测试。这样您仍然可以保持文档的可读性。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-11-13
      • 1970-01-01
      • 1970-01-01
      • 2020-07-18
      • 2012-04-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多