RESTAPI设计指南符合性测试

RESTAPI设计指南符合性测试,rest,api,testing,swagger,design-guidelines,Rest,Api,Testing,Swagger,Design Guidelines,给定一个REST接口的正式规范(如Swagger 2.0文件),我想在设计时对照一组简单的预定义接口设计准则对其进行测试。该指南由强制性(必须)和非强制性(应该、可以)声明组成,其中只有MUST需要强制执行 事实: 编写API和相应的Swagger文件的人不是REST专家,尽管他们应该应用上述设计规则,但他们不会这样做——至少不会完全这样做 很多招摇过市的文件,所以我需要一个自动 用于此目的的工具。不喜欢任何技术或编程语言 验证规则将来可能会更改 示例: 要强制执行的规则:REST API的

给定一个REST接口的正式规范(如Swagger 2.0文件),我想在设计时对照一组简单的预定义接口设计准则对其进行测试。该指南由强制性(必须)和非强制性(应该、可以)声明组成,其中只有MUST需要强制执行

事实:

  • 编写API和相应的Swagger文件的人不是REST专家,尽管他们应该应用上述设计规则,但他们不会这样做——至少不会完全这样做
  • 很多招摇过市的文件,所以我需要一个自动 用于此目的的工具。不喜欢任何技术或编程语言
  • 验证规则将来可能会更改
示例:

要强制执行的规则: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

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

为了社区的方便,发布了这篇文章:用户Samuel_vdc发现了Zalando的一个有趣的项目,名为“API Linter”,目前最先进的是根据一套硬编码的验证规则(Zalando的官方指南)进行验证

在Zally介绍了对用户提供的规则集的支持之后,了解这些规则将如何正式结构化将是一件有趣的事情