Page 1 of 1

所有重要的阳性检测病例都存在吗?

Posted: Thu Jan 30, 2025 8:21 am
by suchona.kani.z
出于这个原因,我们尝试编写尽可能多的有用测试,但同时尽可能少地编写必要的测试。为了实现这一目标,您可以在编写测试用例时问自己以下问题:

是否存在所有重要的阴性测试用例?
是否涵盖所有限制?
我还应该测试其他等价类吗?
结论
一旦您内化并理解了这些原则,编写单元测试应该会变得更容易一些。然而,人们应该始终意识到这些原则不应教条地应用。您还可以决定项目中的其他原则或修改这些原则;团队内部的理解在这里很重要。最终,测试第一原则可以在具有结构良好的单元测试的项目中一次又一次地找到,尽管可能是以修改的形式。

您可以在我们之前发布的博客文章中找到来自 adesso 世界的更多令 列表构建mlm 人兴奋的主题。当 API 及其规范使用描述、示例和命名约定时,它们会变得更容易理解。这正是 OpenAPI 样式验证器的用武之地。该工具可以在 Maven 插件的帮助下用作 Java 代码中的库或 CI/CD 管道中的库。

API规范的问题
规格通常不明确和精确。除了有意义的描述之外,还缺少说明其用途的示例。在这里,OpenAPI 样式验证器可以帮助准确找到 OpenAPI 规范中的此类弱点。定义的规则描述了 API 规范的元素应该是什么样子。这允许该工具自动检查规格。当在构建管道中使用时,违反规则甚至可能导致构建中断。

详细说明
为了进一步解释 OpenAPI 验证器的好处,我们以流行的 Petstore 为例。

众所周知,OpenAPI 描述从 Info 对象以及关联的 Contact 和 License 对象开始(参见清单 1)。第一个违反规则的情况通常发生在此时。对于信息对象,标题和描述被忽略;联系或许可证信息通常完全丢失。
清单 1:信息对象

然而,大多数规则违规发生在路径或操作对象级别。这些对象是 Paths 对象的子对象。 Paths 对象包含到现有端点的所有路径(路径项)。单个路径(例如 /pets GET)包含操作,即允许的方法。

清单 2:GET 操作对象

该工具可以检测某些属性是否存在并已填充。例如,在清单 2 中,缺少属性“summary”。但“描述”对此可用。

评论中下一个有趣的部分通常是数据类型。数据类型在 OpenAPI 规范中定义为模式对象,然后在请求或响应中引用这些对象(例。对于模式对象,验证器检查所有模式属性是否存在且不为空。

如果我们查看 清单 3 中的 NewPet 宠物店示例,我们会注意到其中没有描述和示例。在我看来,描述和示例是使 API 文档更易于理解和学习 API 的核心要素。