用PHPUnit模拟guzzle和测试外部API

163 阅读1分钟

在这个例子中,我们将测试一个外部API的模拟和不模拟Guzzle客户端。我们现在都知道,在测试环境中,外部API调用必须被模拟。然而,出于演示的目的,我将向你展示如果我们不模拟它,我们的测试会是什么样子。

真实的API响应

{

异常

namespace Application\Exception;

邮政编码

这个类调用外部API来获取英国邮政编码的详细信息,我们将对其进行测试。

namespace Application\Util;

没有模拟

namespace tests\Application\Util;
#tests/Application/Util/Mock/Postcodes/response-body.txt

测试

$ vendor/bin/phpunit --filter PostcodesTest tests/Application/Util/PostcodesTest.php

有嘲讽

更多信息,请访问测试Guzzle客户端

namespace tests\Application\Util;
#tests/Application/Util/Mock/Postcodes/response-body.txt

测试

$ vendor/bin/phpunit --filter PostcodesTest tests/Application/Util/PostcodesTest.php