0

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

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

举几个例子来说明:

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

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

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

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

问题很简单,我敢肯定一定有某种方法可以做到这一点 - 但知道我们是否在正确的地方寻找答案也会有所帮助......为这类任务找到了正确的工具?

4

1 回答 1

1

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

# POST [/something]

+ Request (application/json)
+ Request (application/xml)
+ Response 200
+ Response 500

+ Request (text/plain)
+ Response 415
+ Response 500

Dredd 对此有支持,尽管有限。您需要将它们作为请求-响应对

# POST [/something]

+ Request (application/json)
+ Response 200

+ Request (application/json)
+ Response 500

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

于 2017-05-28T11:51:30.687 回答