rest - 如何用 swagger 和 dredd 测试错误代码?
问题描述
知道如何使用 Dredd 结合 swagger .yaml 文件测试其余 api 错误代码吗?
是否有最佳实践如何测试路径的所有不同错误?
例子:
Path /task/{id} can have 3 type of responses:
200 -> OK
404 -> Task not found
403 -> Forbidden(not your task)
是否可以使用 swagger / dredd 测试这条路径的所有 3 个“工作流程”?
解决方案
使用hooks是可能的。请参阅Dredd 文档中的选择 HTTP 事务和多个请求和响应部分:
当使用 OpenAPI 2 格式时,默认情况下 Dredd 只测试带有
2xx
状态码的响应。带有其他代码的响应被标记为已跳过,可以在钩子中激活:var hooks = require('hooks'); hooks.before('/resource > GET > 500 > application/json', function (transaction, done) { transaction.skip = false; done(); });
推荐阅读
- amazon-web-services - 下载以纪元时间为文件名的 S3 文件
- javascript - MongoError:集合名称必须是字符串 - 即使我已经指定了字符串
- c - 如何处理以下错误代码:
- jquery - 如果这是空的(jQuery),则在 prev() 上设置类
- string - 有没有办法优化 KMP 算法以涉及我们正在比较的字符?
- swift - 全局变量/常量如何在 swift 中变得懒惰
- mongodb - CentOS for MongoDB 进程上的 bindIP 退出并显示错误代码
- java - 在 Spring Boot 中将文本值传递给 thymeleaf 视图
- c# - 单击该行时,DATAGRIDVIEW(允许用户添加行)被设置为空白
- javascript - 为什么将对象设置为不可扩展使其 [[prototype]] 不可变?