Awesome Jest
Jest包和资源的精选列表
目录
包
匹配器
- jest-extended 为核心API添加额外的匹配器,使测试一切变得容易。
- expect-more 一个包含大量测试匹配器的库,适用于各种常见用例。
- jest-axe 用于测试可访问性的Jest匹配器,基于axe。
- jest-enzyme 用于enzyme的断言库。
- jest-json-schema JSON模式匹配器。
- expect-puppeteer Jest和Puppeteer的匹配器集合。
- @testing-library/jest-dom 用于测试DOM状态的Jest匹配器。
- jest-generator 用于测试生成器函数的Jest匹配器。
- jest-shell-matchers 测试shell脚本,同时模拟特定命令。
- @emotion/jest 用于测试Emotion组件的Jest匹配器。
- jest-openapi 用于断言HTTP响应满足OpenAPI规范的Jest匹配器。
- jest-json 用于断言JSON字符串的Jest匹配器。
- @testing-library/jest-native 用于测试React Native状态的Jest匹配器。
- @traceloop/jest-opentelemetry Jest和OpenTelemetry的端到端测试匹配器和运行器集合。
IDE
- vscode-jest 在VS Code中开箱即用的基于Jest的测试。
- vscode-jest-runner 通过上下文菜单、代码镜头或命令面板简单运行或调试一个或多个测试。
- wallaby 集成到编辑器中的测试运行器的巅峰之作。
- coc-jest coc.nvim的Jest插件。
- jester 一个用于轻松运行和调试Jest测试的Neovim插件。
代码检查
- eslint-plugin-jest Jest的ESLint插件。
- eslint-plugin-jest-formatting 旨在提供格式化规则(尽可能自动修复)的ESLint插件,以确保Jest测试套件的一致性和可读性。
- eslint-plugin-jest-extended jest-extended的ESLint插件。
- eslint-plugin-jest-dom 用于遵循最佳实践并预防使用@testing-library/jest-dom编写测试时的常见错误的ESLint插件。
运行器
- jest-runner-eslint Jest的ESLint运行器。
- jest-runner-mocha Jest的Mocha运行器。
- jest-runner-prettier Jest的Prettier运行器。
- jest-electron-runner Jest的Electron运行器。
- jest-runner-stylelint Jest的Stylelint运行器。
- jest-runner-groups 一个允许对测试进行分组并分别运行组的运行器。
- jest-runner-tsc Jest的TypeScript编译器运行器。
- jest-runner-tsd 用于运行TypeScript类型测试的运行器。
- jest-light-runner 直接在裸Node.js环境中运行测试的运行器,无需虚拟化环境。
报告器
- jest-silent-reporter Jest的静默报告器。
- jest-junit Jest的JUnit格式报告器,可与CI系统集成。
- jest-xunit Jest的xUnit格式报告器。
- jest-skipped-reporter 在Jest中报告跳过的测试。
- jest-html-reporter Jest测试结果处理器,用于生成HTML格式的摘要。
- jest-stare 可配置的HTML报告器,用于过滤、并排显示快照差异、API和简单的命令行界面。
- jest-slow-test-reporter 打印代码库中最慢的测试。
- jest-simple-dot-reporter 简单的点报告器 - 每个测试一个点。
- jest-performance-reporter 识别慢速测试并创建包含执行时间的报告。
- jest-progress-bar-reporter 带有小进度条的简单报告器。
- jest-html-reporters Jest测试结果处理器,用于生成HTML格式的摘要。
- jest-allure 使用Jest-Allure为测试添加更多功能,以简洁的网页报告形式展示测试内容。
- jest-standard-reporter 使用标准输出显示消息,标准错误显示错误的报告器。
- jest-github-reporter 直接在拉取请求中报告Jest测试错误。
- jest-email-reporter 通过电子邮件报告Jest测试错误。
- jest-dashboard 命令行仪表板。
- testrail-jest-reporter 将Jest测试结果报告给TestRail。
- jest-tesults-reporter 将测试结果数据提交给Tesults进行分析和报告。
- github-actions-jest-reporter 使用Github Actions组报告Jest测试结果,方便浏览测试日志。
- jest-ado-reporter 在Azure DevOps的管道步骤中报告Jest测试套件进度信息。
- jest-ci-spec-reporter 零依赖的规范报告器,输出适合CI环境。
- jest-angular-test-verifier 确保基本的Angular文件有对应的测试文件,报告任何遗漏的机会,并在一切正常时表示庆祝。
- jest-slow-test-highlighter 突出显示并报告套件中最慢的测试,帮助识别需要性能优化的区域。
- jest-wip-reporter 将所有测试分类为通过、失败或进行中;默认使用点表示的安静进度报告。
- @tsdoc-test-reporter/jest 将JS/TSDoc注释附加到测试结果并生成HTML或JSON格式摘要的报告器。
- testomatio-jest-reporter 允许分析Jest自动测试,收集测试元数据并将其报告给testomat.io TCM系统。
- jest-console-group-reporter 自动对控制台消息进行分组,允许过滤,并提供灵活的显示配置选项。
- echoed 通过报告OpenTelemetry数据使测试可观察。
结果处理器
- majestic Jest的零配置用户界面。
环境
- jest-environment-webdriver WebDriver集成的自定义环境。
- jest-environment-puppeteer Jest的Puppeteer环境。
覆盖率
- jest-it-up 当覆盖率超过全局阈值时自动提高阈值。
- jest-coverage-thresholds-bumper 类似于
jest-it-up
,但允许指定覆盖率摘要的位置,支持JSON文件和package.json
中的Jest配置。 - jest-a-coverage-slip-detector 为并行化CI设计,防止测试覆盖率下滑。功能包括按文件棘轮调整、自动覆盖率合并和自定义消息。
快照
- snapshot-diff 接收两个值,并返回它们的差异字符串,可以直接用
toMatchSnapshot()
进行快照测试。特别适用于测试 React 组件不同状态之间的差异。 - jest-snapshots-svg 将 React 组件树渲染成 SVG。
- jest-image-snapshot 对图像缓冲区进行快照测试,并在图像变化超过阈值时捕获。通常用于视觉回归测试。
- enzyme-to-json 将 Enzyme 包装器转换为与 Jest 快照测试兼容的格式。
- jest-styled-components 用于使用 Jest 测试 Styled Components 的实用工具集。
- jest-img-snapshot 使用 pixelmatch 进行图像快照比较,集成了 Jest 的所有快照功能。
- jest-file-snapshot 将快照写入单独的文件,而不是 Jest 默认使用的快照文件。
- Differencify 使用 Jest 和 Puppeteer 进行图像快照比较的视觉回归测试工具。
- StoryShots 为 Storybook 添加自动 Jest 快照测试。
- jest-large-snapshot-warning 为大型快照添加警告。
- jest-serializer-react-helmet 在组件快照中包含 React Helmet 数据。
- jest-serializer-json-ld-script 将 JSON+LD 元素序列化为 JavaScript 对象。
- @emotion/jest 在组件快照中包含 Emotion 样式。
- jest-serializer-xml 格式化 XML 文档以在快照中更好地可视化。
- 1log 可扩展的日志记录器,允许将日志消息捕获为快照。
- jest-serializer-ansi-escapes ANSI 转义序列的快照序列化器。
迁移
- jest-codemods 简化从其他测试运行器和框架迁移到 Jest 的过程。
- @putout/plugin-jest 🐊Putout 插件,帮助迁移到最新的 Jest API。
库扩展
- testdouble-jest 为 Jest 用户提供 testdouble.js 支持。
- jest-puppe-shots 一个 Jest 插件,用于创建 React 组件的截图,借助 Puppeteer 实现。
- babel-jest-assertions Babel 插件,自动添加每个测试中找到的断言数量,使用
expect.assertions(n)
和expect.hasAssertions()
。 - typescript-snapshots-plugin 扩展 TypeScript 开发服务器以支持快照的悬停和跳转。
- jest-chain 将 Jest 匹配器链接在一起,创建一个强大的断言。
- jest-expect-message 为 Jest 的 expect 添加自定义消息。
- @bigtest/interactor 一个测试和断言库,使大规模 UI 测试变得容易,同时将可访问性放在核心位置。
- @testdeck/jest 基于装饰器的 Jest 包装器,用于面向对象的测试。查看文档和一个可用的种子项目以开始使用。
- jest-plugin-must-assert 一个用于严格运行时检查的 Jest 插件。对没有断言的测试失败,并防止异步任务(Promise 和超时)在测试之间泄漏。
- wait-for-expect 一个 await/async 函数,用于等待 expect。在端到端测试中很有用。
- jest-os-detection 根据运行测试的操作系统动态启用或跳过测试,以便您可以在不同平台上共享相同的测试套件。
- @fast-check/jest 将基于属性的测试(又称模糊测试)引入 Jest。
- jest-fail-on-console 当调用
console.error()
(或控制台的任何其他方法)时使测试失败的实用工具。
模拟
- jest-fetch-mock 轻松模拟
fetch
并设置响应,由 Jest mock 函数 提供支持。 - jest-canvas-mock 使用 Jest 运行单元测试时模拟 canvas。
- jest-localstorage-mock 在 Jest 中模拟 window.localStorage 和 window.sessionStorage 的模块。
- jest-date-mock 使用 Jest 运行单元测试时模拟
window.Date
。使 Date 的测试更加简单。 - jest-mock-extended 为 TS 接口和对象创建类型安全的模拟,并返回特定参数的返回值。
- jest-wake-lock-mock 轻松模拟屏幕唤醒锁定 API
navigator.wakeLock
,并使用 Jest 运行测试。 - jest-location-mock 轻松模拟
window.location
。 - @automock/jest 类依赖自动模拟。
- @jest-mock/express 模拟 Express.js 请求和响应对象。
监视插件
- jest-watch-continue 在持续模式下运行测试。
- jest-watch-directories 选择要测试的目录。
- jest-watch-exec 在监视周期内执行脚本。
- jest-watch-lerna-packages 选择要测试的 Lerna 包。
- jest-watch-master 检查自 master 分支以来的更改。
- jest-watch-random 随机运行部分测试套件。
- jest-watch-repeat 多次重复运行测试。
- jest-watch-select-projects 选择要运行的 Jest 项目。
- jest-watch-suspend 暂停监视模式,使你的更改不会触发测试运行。
- jest-watch-toggle-config 切换布尔设置(如详细程度、测试覆盖率)。
- jest-watch-typeahead 按文件名或测试名筛选测试。
- jest-watch-yarn-workspaces 选择要测试的 Yarn 工作区。
- node-recorder 切换
node-recorder
的录制模式。
处理器
- jest-nunjucks 编译 nunjucks 模板的处理器。
- ts-jest 支持源映射的 TypeScript 预处理器。
- vue-jest 支持源映射的 Vue 转换器。
- marko-jest Marko 组件 的处理器。
- awesome-pug-jest Pug/Jade 的处理器。
- jest-raw-loader 模仿
webpack
的raw-loader
的处理器。 - jest-less-loader 用于
.less
文件的 Jest 转换器。 - jest-url-loader 类似于 webpack 的
url-loader
的 Jest 转换器。
预设
- jest-dynamodb 用于处理 DynamoDB 的 Jest 预设。
- jest-mongodb 用于处理 MongoDB 的 Jest 预设。
- jest-elasticsearch 用于处理 ElasticSearch 的 Jest 预设。
- jest-puppeteer 一个 Jest 预设,提供现成的环境来使用 Puppeteer 编写集成测试。
- jest-preset-angular 用于 Angular 项目的 Jest 预设。
- jest-preset-gatsby 用于简化 Gatsby 项目单元测试的 Jest 预设。
- jest-search 用于处理 OpenSearch、ElasticSearch 和 ZincSearch 可自定义版本的 Jest 预设。
生成器
- jest-test-gen 为每个类方法或导出的函数生成带有测试框架的测试文件的命令行工具。
- text2jest 一个基于网络的工具,可以立即将嵌套的纯文本测试名称列表转换为 Jest 文件。
调试
- jest-preview 在浏览器中预览 Jest 测试。
资源
贡献
欢迎贡献!请阅读贡献指南。