如何在没有外部通信的情况下将PHPUnit测试保持在内部?

时间:2016-09-23 16:15:05

标签: php laravel phpunit laravel-5.2

是否可以确保没有测试与外部源通信?虽然我认为我的所有测试都会考虑模拟任何外部依赖关系,但我想知道是否存在任何类型的问题以确保我的测试套件与第三方API没有任何意外的通信等等。

1 个答案:

答案 0 :(得分:1)

由于这被标记为Laravel,我将假设您更喜欢基于Laravel的答案。

假设您没有测试与外部API的通信(这在某些时候值得做),那么您将希望以与接近其他任何方式相同的方式来处理它。

嘲讽。

您的模型和API库都在与数据源进行通信。要测试模型,请模拟它们,这样就不会与数据库进行交互。您需要为您的API执行相同操作,模拟返回结果的类,或者完全跳过它并引入示例响应。

这完全取决于您正在测试的内容。如果您不想测试如何处理来自API的数据,只需不要调用任何与API交互的内容。