Guzzler 测试库

发布于 作者

Guzzler Testing Library image

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

Paul Redmond photo

Laravel 新闻的专职作家。全栈 Web 开发人员和作家。

分类于
Cube

Laravel 新闻通讯

加入 40k+ 其他开发者,不错过任何新的技巧、教程等。

Laravel Forge logo

Laravel Forge

轻松创建和管理您的服务器,并在几秒钟内部署您的 Laravel 应用程序。

Laravel Forge
Tinkerwell logo

Tinkerwell

Laravel 开发人员必备的代码运行器。使用 AI、自动完成和即时反馈在本地和生产环境中进行调试。

Tinkerwell
No Compromises logo

不妥协

Joel 和 Aaron,来自“不妥协”播客的两位经验丰富的开发者,现在可以为您的 Laravel 项目提供服务。 ⬧ 固定价格 $7500/月。 ⬧ 没有冗长的销售流程。 ⬧ 没有合同。 ⬧ 100% 退款保证。

不妥协
Kirschbaum logo

Kirschbaum

提供创新和稳定性,以确保您的 Web 应用程序取得成功。

Kirschbaum
Shift logo

Shift

运行旧版本的 Laravel?即时、自动的 Laravel 升级和代码现代化,使您的应用程序保持新鲜。

Shift
Bacancy logo

Bacancy

使用经验丰富的 Laravel 开发人员为您的项目提供动力,这些开发人员拥有 4-6 年的经验,每月仅需 $2500。获得 160 小时的专业知识和 15 天的无风险试用。立即安排电话!

Bacancy
Lucky Media logo

Lucky Media

现在就来 Lucky - Laravel 开发的理想选择,拥有超过十年的经验!

Lucky Media
Lunar: Laravel E-Commerce logo

Lunar:Laravel 电子商务

Laravel 的电子商务。一个开源包,为 Laravel 带来了现代无头电子商务功能的力量。

Lunar:Laravel 电子商务
LaraJobs logo

LaraJobs

官方 Laravel 招聘网站

LaraJobs
SaaSykit: Laravel SaaS Starter Kit logo

SaaSykit:Laravel SaaS 启动工具包

SaaSykit 是一个 Laravel SaaS 启动工具包,包含运行现代 SaaS 所需的所有功能。支付、精美结账、管理面板、用户仪表板、身份验证、就绪组件、统计信息、博客、文档等。

SaaSykit:Laravel SaaS 启动工具包
Rector logo

Rector

您无缝升级 Laravel 的合作伙伴,降低成本,加速创新,帮助企业取得成功

Rector
MongoDB logo

MongoDB

通过强大的 MongoDB 和 Laravel 集成增强您的 PHP 应用程序,使开发人员能够轻松高效地构建应用程序。支持事务、搜索、分析和移动用例,同时使用熟悉的 Eloquent API。了解 MongoDB 的灵活、现代数据库如何改变您的 Laravel 应用程序。

MongoDB
Maska is a Simple Zero-dependency Input Mask Library image

Maska 是一个简单的零依赖输入掩码库

阅读文章
Add Swagger UI to Your Laravel Application image

将 Swagger UI 添加到您的 Laravel 应用程序

阅读文章
Assert the Exact JSON Structure of a Response in Laravel 11.19 image

在 Laravel 11.19 中断言响应的精确 JSON 结构

阅读文章
Build SSH Apps with PHP and Laravel Prompts image

使用 PHP 和 Laravel 提示构建 SSH 应用程序

阅读文章
Building fast, fuzzy site search with Laravel and Typesense image

使用 Laravel 和 Typesense 构建快速、模糊的网站搜索

阅读文章
Add Comments to your Laravel Application with the Commenter Package image

使用 Commenter 包将评论添加到您的 Laravel 应用程序

阅读文章