我正在围绕第三方API编写PHP包装器。对于练习来说更是如此,但我现在也看不到任何好的,所以未来可能会被其他人使用。
我的单元测试非常简单,但现在我已达到极限。
API的开发人员有一个最大请求限制(每秒1次,每分钟20次),我的单元测试通过我的API包装器访问API端点,因此测试我的包装器。但是,运行phpunit
已开始返回429 too many requests
错误。因此,Phpunit显然正在运行我所拥有的15个左右的测试,所有测试都过快地访问端点并给我这个错误。
有人知道我 a)是否应该嘲笑这些回复,而 b)如果我正在测试我的包装器,我将如何模拟回复?。如果他们没有在我的实际包装器对象上运行,那么测试有什么用呢?我肯定不想让我的包装器使用模拟响应?
我是单位测试的新手,我觉得此刻的想法非常不舒服,但是我开始热衷于它!
答案 0 :(得分:4)
非常好的问题!当您不熟悉测试时,这是一个常见问题。
首先,区分单元测试和集成测试:
我要做以下事情:
模拟回复是一项棘手的事情。如果你有一天尝试这样做,当第三方API发生变化时,你会遇到麻烦。如果您仍想继续这条路,请查看https://github.com/coduo/tutu。