Netflix 最近发布了 Polly.JS ,一个用于记录、重放和模拟 HTTP 交互的开源库。
Polly 利原生机浏览器 API 来模拟请求和响应,以便减少配置工作,为开发人员提供一种管理 HTTP 请求的机制。
Netflix 团队发现,与 API 保持一致是一项艰巨的挑战,于是他们创建了 Polly。Polly 以灵活的方式记录和维护服务器响应。例如,它可以在测试运行期间记录和重放 HTTP 交互,用以验证应用程序的准确性,以及捕获请求和响应,用以模拟应用程序状态的变更。
Polly 支持 Fetch 和 XHR 请求,并为 Mocha 和 QUnit 提供测试工具。开发人员可以拦截、修改和附加事件,并应用更改来加速或减慢请求响应时间。
使用 Polly 记录的 HTTP 交互可以以 HTTP 存档(HAR)格式保存到浏览器的磁盘或本地存储器中。
目前支持大多数最新版本浏览器,不过根据社区反馈,Polly 团队正在积极提供对Internet Explorer 11 的支持。
Polly 团队还在努力为这个库提供同构的集成方式,以支持其他测试框架,如 Jest 和 Intern。目前仅限于在 Web 浏览器中运行测试。
Polly.JS 基于 Apache 2 许可发行,并鼓励开发者参与贡献代码,这里是贡献者需要阅读的相关指南。
评论