1

给定一个 REST 接口的正式规范——比如一个 Swagger 2.0 文件——我想在设计时针对接口本身的一组简单的预定义设计指南对其进行测试。指南由强制(MUST)和非强制(SHOULD、COULD)语句组成,其中只有 MUST 需要强制执行。

事实:

  • 编写 API 和相应 Swagger 文件的人不是 REST 专家,尽管他们应该应用上述设计规则,但他们不会这样做 - 至少不完全如此
  • 很多 Swagger 文件,所以我需要一个自动工具来实现这个目的。不偏爱任何技术或编程语言
  • 验证规则将来可能会改变

例子:

要强制执行的规则:REST API 的任何 URI 都不能包含“进程”一词

测试用例 n.1

# YAML Swagger to be tested
[...]
paths:
   /process_user/{userId}:
       [...]

# --> Outcome of test against rule: failed

测试用例 n.2

# YAML Swagger n.2 to be tested**:
[...]
paths:
   /user/{userId}:
       [...]

# Outcome of test against rule**: passed

你知道有什么工具可以完成这项工作吗?

4

1 回答 1

1

为了方便社区发布此内容:用户 Samuel_vdc 发现了 Zalando 的一个有趣的项目,名为Zally,这是一个“API Linter”,并且在当前状态下根据一组硬编码的验证规则进行验证(Zalando 的官方指南)

有趣的是——在 Zally 引入对用户提供的规则集的支持之后——这些规则将如何正式构建......

于 2017-10-16T09:27:48.763 回答