如何用swagger和dredd测试错误代码?

时间:2018-04-26 20:34:55

标签: rest swagger swagger-2.0 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)

是否可以测试所有3"工作流程"用swagger / dredd这条路?

1 个答案:

答案 0 :(得分:0)

hooks是可能的。请参阅Dredd文档中的Choosing HTTP TransactionsMultiple Requests and Responses部分:

  

使用OpenAPI 2格式时,默认情况下,Dredd仅测试状态代码为2xx的响应。带有其他代码的响应被标记为已跳过,可以在挂钩中激活:

var hooks = require('hooks');

hooks.before('/resource > GET > 500 > application/json', function (transaction, done) {
  transaction.skip = false;
  done();
});