php – 编写单元测试REST REST API

前端之家收集整理的这篇文章主要介绍了php – 编写单元测试REST REST API前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在计划对REST API进行单元测试,我想知道我应该采取的方法.

最关心我的方面与数据库状态有关.我的理解是,测试目标的环境或初始状态对于每个测试应该是相同的,这意味着每个测试的数据库也应该相同.当我有一个沉重的数据库时,该如何实现?另外,如何处理数据库模式中的最终更改?

问题是你想测试什么你认为最顶层的api层(即正在接收HTTP请求的层)会破坏什么?

通常写单元测试restive-api听起来有点像矛盾;)通过定义单元测试比使用入门点HTTP到数据库要小得多.更重要的是,您的问题是基于如何编写大型测试(或验收,端到端测试).

小心实施这样的大型测试(端到端测试)需要付出很多努力:

>测试往往慢得多
>测试的维护成本,因为测试更难以理解(因为所有这些依赖测试数据设置)
>他们更倾向于引起假阳性测试(测试显示“红色”,尽管它应该是“绿色”).再次的原因是您的测试涉及更多的依赖关系,脆弱性更大.

在我的经验中,测试粒度的多样性是国王,因此我混合/组合的方法

>对于api内部的单元测试(例如几个更复杂的映射要求,认证,棘手的验证规则,复杂的if / else逻辑,…)
>在更粗糙的级别上执行smoke-tests,HTTP客户端正在与api通话,即测试集成.这些测试会告诉我:服务器可以启动,主api用例工作.作为工具我推荐soap-ui.
>关于数据库状态:我经常从大多数基本数据开始(例如现有的api用户或预定义的不可变测试数据).每个测试的测试数据应该被隔离.如果我的测试包括更复杂的流程(例如整个用例分布在多个HTTP调用中),则允许测试数据依赖于测试步骤(即,call-2可能取决于通过call- 1)

也许你可以给你想要测试的具体用例更多的输入,所以可以提供更多的帮助?

原文链接:https://www.f2er.com/php/130780.html

猜你在找的PHP相关文章