Guzzler 测试库
发布于 作者 Paul Redmond
Guzzler 是一个专门为 Guzzle 编写的测试库,由 Adam Kelso 编写
使用专门为 Guzzle 编写的测试库来提升您的应用程序。Guzzler 包含了设置模拟处理程序、记录请求历史记录的过程,并提供了一些便利方法,用于创建对该历史记录的预期和断言。
以下来自文档的示例展示了您的测试如何使用 Guzzler 库来模拟和断言 HTTP 客户端请求和响应
use GuzzleHttp\Psr7\Response; // ... $this->guzzler->expects($this->once()) ->post('/some-url') ->withHeader('X-Authorization', 'some-key') ->willRespond(new Response(201));
在 Laravel 应用程序的上下文中,您可能在服务容器中绑定了一个基本的 Guzzle 客户端,它使用接口或具体类,您可以在测试套件中覆盖它
public function setUp(){ parent::setUp(); $this->client = $this->guzzler->getClient([ "stream" => true, "base_uri" => "http://some-url.com/api/v2" ]); $this->app->instance(MyBaseClient::class, $this->client);}
我喜欢在我的应用程序中使用注入 Guzzle 客户端依赖项的类。我可以添加便利方法来抽象请求和格式化,然后它依赖于 Guzzle 来进行 HTTP 请求。这种设置使我能够轻松地替换类似于 Guzzler 的东西来模拟 HTTP 层。
要详细了解此包,包括安装和使用,请访问 guzzler.dev 上的文档。您可以在 GitHub 上查看此包的源代码,地址为 blastcloud/guzzler。