什么是 @pollyjs/core ?
@pollyjs/core 是一个用于录制和回放 HTTP 交互的工具包。它通过将 HTTP 请求和响应存储在本地来模拟 HTTP 交互,避免了对网络的依赖。@pollyjs/core 可以帮助开发人员有效地测试应用程序、框架和库,以确保它们稳定可靠,能够正常运行。
安装
安装 @pollyjs/core 的方法很简单,只需要在命令行中运行以下命令即可:
--- ------- ------------- ----------
使用
创建 Polly 实例
首先,我们需要创建 Polly 实例。在本例中,我们将在 Jest 测试中使用 @pollyjs。我们需要在 test/setup.js
文件中初始化 Polly。Polly 为我们提供了一些默认值,如存储策略和记录器等。
------ ----- ---- ---------------- ----------------- ------- ---- ----------------- --------- ---- ----- ----- - --- ----------------- ------- - --------- ---------- -------- ---------- --------- ------- ---
API
@pollyjs/core 提供了一些非常有用的 API,让我们了解一下它们。
Polly#record()
此 API 用于开始录制所有接下来的 HTTP 交互。
------------- --- ---- -------------- ----- -- -- - -- ----- --------- ----- --------------- -- ---- - ---- ------- ----- --- - ----- ---------------------------------------------------------- -- ---- --------- ----- ------------- -- ------ ---- --- -------- -- ------- ---------------------------------------- --- -------- ---
Polly#replay()
此 API 用于回放以前录制的所有 HTTP 交互。
------------ --- ---- -------------- ----- -- -- - -- ------ --- -------- ---- ------------ ----- --------------- -- ---- - ---- ------- ----- --- - ----- ---------------------------------------------------------- -- ------ ---- --- -------- -- ------- ---------------------------------------- --- -------- ---
Polly#passthrough()
此 API 将自动发送所有 HTTP 请求,但会记录 HTTP 响应以供以后使用。
----------------- --- ---- -------------- ----- -- -- - -- ----------- --- ---- ------------ ----- -------------------- -- ---- - ---- ------- ----- --- - ----- ---------------------------------------------------------- -- ------ ---- --- -------- -- ------- ---------------------------------------- --- -------- ---
持久化存储
@pollyjs/core 通过存储策略进行持久化存储,我们可以选择 @pollyjs/core 的默认存储器或自定义存储器。在创建 Polly 实例时,我们需要指定要使用的存储策略。
以下是 @pollyjs/core 支持的默认存储策略和示例用法。
Memory
Memory 是 @pollyjs/core 的默认存储策略,它使用内存保存 HTTP 交互。我们不需要对其做任何配置,只需要在创建 Polly 实例时将它指定为默认存储策略即可。
----- ----- - --- ----------------- ------- - --------- ---------- -------- ---------- ---------------------------- ---
FileSystem
FileSystem 策略使用文件系统保存 HTTP 交互。我们需要传递一个保存 HTTP 交互的目录。
----- ----- - --- ----------------- ------- - --------- ---------- -------- ---------- ------------------------ ----------------- - --- - -------------- ----------- ------- -- -- ---
REST
REST 存储策略使用 RESTful API 保存 HTTP 交互。我们需要传递一个包含 RESTful API URL 的配置对象。
----- ----- - --- ----------------- ------- - --------- ---------- -------- ---------- -------------------------- ----------------- - ----- ----- ------ -- ---
适配器
@pollyjs/core 的适配器 API 让我们可以摆脱浏览器或框架等环境极具依赖性的 HTTP 请求 API。@pollyjs/core 提供了一些默认适配器,使我们可以简单快速地开始工作。
以下是 @pollyjs/core 支持的默认适配器和示例用法。
XHR
适用于环境为浏览器的情形。
----- ----- - --- ----------------- ------- - --------- ------------------------- ---
Node HTTP
适用于 Node.js。
----- ----- - --- ----------------- ------- - --------- ------------------------------- ---
Puppeteer
适用于 headless 浏览器 Puppeteer。
----- ----- - --- ----------------- ------- - --------- ------------------------------- --------------- - ---------- -- ----------- -------- -- -- ---
结束语
这是 @pollyjs/core 的使用教程,我们学习了如何开始录制和回放 HTTP 交互,如何使用存储策略进行持久化存储,以及如何使用默认适配器。如果你正在寻找一个强大的 HTTP 交互记录和回放工具,那么 @pollyjs/core 可以满足你的需求。
来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/88940