介绍
@pollyjs/cli 是一个基于 Node.js 的命令行工具,用于录制和回放 HTTP 请求和响应。它通过拦截发出的 HTTP 请求并将其映射到预定义的响应,让您能够在测试和开发过程中快速、可靠地模拟任何 API 的返回。
@pollyjs/cli 可以与不同的测试框架(例如 Mocha、Jasmine、Jest)配合使用,也支持 JavaScript、TypeScript 和 Vue.js 等多种应用程序类型。这个包对于前端工程师开发测试十分有用,它提供了轻松进行 API 测试的方便性和精确性。
安装
npm 安装
npm install -g @pollyjs/cli
Yarn 安装
yarn global add @pollyjs/cli
安装成功后,在命令行中输入 polly
即可看到 @pollyjs/cli 的使用文档。
使用
录制请求和响应
polly record
该命令运行后会启动一个本地代理,你要做的就是使用你的应用程序访问该代理地址,@pollyjs/cli 会拦截并记录请求和响应。详情请参考文档。
回放请求和响应
polly replay
该命令会使用之前录制的数据进行回放测试。
生成测试代码
polly generate-testcase
该命令会生成一个测试文件,包含了您 recordings 中的每个录制模式(如果它们不存在,则该命令会生成它们)。
可以是在 tests/polly 目录或当前目录中生成测试文件。例如:
polly generate-testcase --path tests/polly
使用示例
以下示例演示了如何在一个基于 Vue.js 的应用程序中使用 @pollyjs/cli 进行 API 测试。
1. 安装 @pollyjs/adapter-fetch
npm install --save-dev @pollyjs/adapter-fetch
2. 在 main.js 中,导入 polly 和 @pollyjs/adapter-fetch,注册自定义适配器
-- -------------------- ---- ------- ------ --- ---- ------ ------ --- ---- ------------ ------ ----- ---- ---------------- ------ ------------ ---- ------------------------- ------------------------ - ------ ----------------------------- --- ----- ------- --- -- ------- ------------------
3. 录制测试数据
执行以下命令:
polly record
在应用程序中进行测试并访问 API,@pollyjs/cli 会自动记录请求和响应并保存在 recordings 目录中。
4. 编写测试用例
执行以下命令:
polly generate-testcase --path tests/polly
在 tests/polly/example.test.js
中,添加测试代码:
-- -------------------- ---- ------- ------ - ----- - ---- ---------------- ------ ------------ ---- ------------------------- ------ --------------- ---- ----------------------------- ------ - ---------- - ---- ---------------- ----------------------------- -------------------------------- ----------------- --- ------- -- -- - ----- ----- - --- -------------- ----- - --------- --------- ------------- ---------------- ----- ----- --------- --- ------------------ ---------- ------ --- ------- ---------- ----- -- -- - ----- -------- - ----- ------------------------------------------------------ ----- ---- - ----- ---------------- ---------------------------- ------------------------ --------------------------------- --- -------- ----------------------------------- --- ---
该测试用例访问了 https://jsonplaceholder.typicode.com/todos/1,与之前录制的数据进行比较并断言测试结果。
5. 运行测试
在命令行中执行以下命令:
jest tests/polly/example.test.js
即可运行测试用例。
总结
@pollyjs/cli 提供了一个方便、可靠的方式来模拟 API 的返回并测试网页应用程序。它支持多种应用程序类型和测试框架,其功能强大,使用简单。通过本文介绍,希望读者能够对 @pollyjs/cli 有更深入的理解,并在前端项目中成功应用它。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/133624