测试

本文档旨在提供关于如何一致且有效地测试项目公共 HTTP API 的指导。

测试现状

TODO 列举 OpenStack API 中使用的各种 HTTP API 测试风格和系统。

目标

测试有很多方面,并且至少有与这些方面相关的那么多利益相关者参与其创建和使用。测试可以至少在三个层面上进行

  1. 验证或协助创建新的功能或更改现有代码。

  2. 防止回归。

  3. 允许检查和分析被测系统。

API 测试应努力实现所有这些目标,而不会限制其他目标。

建议

  1. 每个项目都应该有一套声明式测试,这些测试涵盖 API 的全部范围,并紧密模拟 HTTP 请求和响应。声明式测试允许那些希望创建或理解服务客户端的人员轻松检查。它也有助于揭示 API 构建中缺乏优雅之处,而这些缺陷可能被基于代码的测试所掩盖。

  2. API 的黑盒测试是理想的。它们并不严格要求运行 Web 服务。可以使用构造的环境直接调用 WSGI 应用程序,或使用拦截。

  3. 您的输入在这里