{"id":27498672,"url":"https://github.com/web-infra-dev/rstest","last_synced_at":"2026-01-12T08:17:48.415Z","repository":{"id":285341249,"uuid":"886562005","full_name":"web-infra-dev/rstest","owner":"web-infra-dev","description":"The testing framework powered by Rspack (WIP).","archived":false,"fork":false,"pushed_at":"2025-06-16T03:56:39.000Z","size":1226,"stargazers_count":301,"open_issues_count":4,"forks_count":7,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-06-16T04:50:40.272Z","etag":null,"topics":["rsbuild","rstack","rstest","test","test-tools","testing","testing-framework"],"latest_commit_sha":null,"homepage":"https://rstest.rs","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/web-infra-dev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-11-11T07:44:56.000Z","updated_at":"2025-06-16T03:55:01.000Z","dependencies_parsed_at":null,"dependency_job_id":"351e3939-8271-4d00-9dbe-b9f37108535b","html_url":"https://github.com/web-infra-dev/rstest","commit_stats":null,"previous_names":["web-infra-dev/rstest"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/web-infra-dev/rstest","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/web-infra-dev%2Frstest","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/web-infra-dev%2Frstest/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/web-infra-dev%2Frstest/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/web-infra-dev%2Frstest/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/web-infra-dev","download_url":"https://codeload.github.com/web-infra-dev/rstest/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/web-infra-dev%2Frstest/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260676923,"owners_count":23045114,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["rsbuild","rstack","rstest","test","test-tools","testing","testing-framework"],"created_at":"2025-04-17T09:01:02.875Z","updated_at":"2026-01-12T08:17:48.410Z","avatar_url":"https://github.com/web-infra-dev.png","language":"TypeScript","readme":"\u003cpicture\u003e\n  \u003cimg alt=\"Rstest Banner\" src=\"https://assets.rspack.rs/rstest/rstest-banner.png\"\u003e\n\u003c/picture\u003e\n\n# Rstest\n\n\u003cp\u003e\n  \u003ca href=\"https://discord.gg/w7cjY77n6q\"\u003e\u003cimg src=\"https://img.shields.io/badge/chat-discord-blue?style=flat-square\u0026logo=discord\u0026colorA=564341\u0026colorB=EDED91\" alt=\"discord channel\" /\u003e\u003c/a\u003e\n  \u003ca href=\"https://npmjs.com/package/@rstest/core?activeTab=readme\"\u003e\u003cimg src=\"https://img.shields.io/npm/v/@rstest/core?style=flat-square\u0026colorA=564341\u0026colorB=EDED91\" alt=\"npm version\" /\u003e\u003c/a\u003e\n  \u003ca href=\"https://npmcharts.com/compare/@rstest/core?minimal=true\"\u003e\u003cimg src=\"https://img.shields.io/npm/dm/@rstest/core.svg?style=flat-square\u0026colorA=564341\u0026colorB=EDED91\" alt=\"downloads\" /\u003e\u003c/a\u003e\n  \u003ca href=\"https://nodejs.org/en/about/previous-releases\"\u003e\u003cimg src=\"https://img.shields.io/node/v/@rstest/core.svg?style=flat-square\u0026colorA=564341\u0026colorB=EDED91\" alt=\"node version\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/web-infra-dev/rstest/blob/main/LICENSE\"\u003e\u003cimg src=\"https://img.shields.io/badge/License-MIT-blue.svg?style=flat-square\u0026colorA=564341\u0026colorB=EDED91\" alt=\"license\" /\u003e\u003c/a\u003e\n  \u003ca href=\"https://deepwiki.com/web-infra-dev/rstest\"\u003e\u003cimg src=\"https://deepwiki.com/badge.svg\" alt=\"Ask DeepWiki\" /\u003e\u003c/a\u003e\n\u003c/p\u003e\n\nRstest is a testing framework powered by Rspack. It delivers comprehensive, first-class support for the Rspack ecosystem, enabling seamless integration into existing Rspack-based projects.\n\nRstest offers full Jest-compatible APIs while providing native, out-of-the-box support for TypeScript, ESM, and more, ensuring a modern and efficient testing experience.\n\n## 📖 Documentation\n\nSee [Documentation](https://rstest.rs).\n\n## 🔥 Roadmap\n\nRstest now supports core testing scenarios including Node.js testing, DOM testing, mocking, multi-project testing, and coverage collection. It is already in active use across the Rstack ecosystem, including projects like Rspack, Rsbuild and Rslib.\n\nThe project is currently in active development, and we will continue to refine functionality and enhance the user experience based on community feedback. For future development plans, please refer to the [Rstest Roadmap](https://github.com/web-infra-dev/rstest/issues/85).\n\n## 🦀 Rstack\n\nRstack is a unified JavaScript toolchain centered on Rspack, with high performance and consistent architecture.\n\n| Name                                                  | Description              | Version                                                                                                                                                                          |\n| ----------------------------------------------------- | ------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| [Rspack](https://github.com/web-infra-dev/rspack)     | Bundler                  | \u003ca href=\"https://npmjs.com/package/@rspack/core\"\u003e\u003cimg src=\"https://img.shields.io/npm/v/@rspack/core?style=flat-square\u0026colorA=564341\u0026colorB=EDED91\" alt=\"npm version\" /\u003e\u003c/a\u003e     |\n| [Rsbuild](https://github.com/web-infra-dev/rsbuild)   | Build tool               | \u003ca href=\"https://npmjs.com/package/@rsbuild/core\"\u003e\u003cimg src=\"https://img.shields.io/npm/v/@rsbuild/core?style=flat-square\u0026colorA=564341\u0026colorB=EDED91\" alt=\"npm version\" /\u003e\u003c/a\u003e   |\n| [Rslib](https://github.com/web-infra-dev/rslib)       | Library development tool | \u003ca href=\"https://npmjs.com/package/@rslib/core\"\u003e\u003cimg src=\"https://img.shields.io/npm/v/@rslib/core?style=flat-square\u0026colorA=564341\u0026colorB=EDED91\" alt=\"npm version\" /\u003e\u003c/a\u003e       |\n| [Rspress](https://github.com/web-infra-dev/rspress)   | Static site generator    | \u003ca href=\"https://npmjs.com/package/@rspress/core\"\u003e\u003cimg src=\"https://img.shields.io/npm/v/@rspress/core?style=flat-square\u0026colorA=564341\u0026colorB=EDED91\" alt=\"npm version\" /\u003e\u003c/a\u003e   |\n| [Rsdoctor](https://github.com/web-infra-dev/rsdoctor) | Build analyzer           | \u003ca href=\"https://npmjs.com/package/@rsdoctor/core\"\u003e\u003cimg src=\"https://img.shields.io/npm/v/@rsdoctor/core?style=flat-square\u0026colorA=564341\u0026colorB=EDED91\" alt=\"npm version\" /\u003e\u003c/a\u003e |\n| [Rstest](https://github.com/web-infra-dev/rstest)     | Testing framework        | \u003ca href=\"https://npmjs.com/package/@rstest/core\"\u003e\u003cimg src=\"https://img.shields.io/npm/v/@rstest/core?style=flat-square\u0026colorA=564341\u0026colorB=EDED91\" alt=\"npm version\" /\u003e\u003c/a\u003e     |\n| [Rslint](https://github.com/web-infra-dev/rslint)     | Linter                   | \u003ca href=\"https://npmjs.com/package/@rslint/core\"\u003e\u003cimg src=\"https://img.shields.io/npm/v/@rslint/core?style=flat-square\u0026colorA=564341\u0026colorB=EDED91\" alt=\"npm version\" /\u003e\u003c/a\u003e     |\n\n## 🙏 Credits\n\nRstest has been inspired by several outstanding projects in the community. We would like to acknowledge and express our sincere gratitude to the following projects:\n\n- Several API design patterns have been influenced by [Jest](https://jestjs.io/) and [Vitest](https://vitest.dev/).\n- Some functions in Rstest are referenced from Vitest, such as the `expect`, `expect.poll` and `snapshot` API, etc.\n\n## 📖 License\n\nRstest is licensed under the [MIT License](https://github.com/web-infra-dev/rstest/blob/main/LICENSE).\n","funding_links":[],"categories":["TypeScript","Resources"],"sub_categories":["Rstack"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fweb-infra-dev%2Frstest","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fweb-infra-dev%2Frstest","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fweb-infra-dev%2Frstest/lists"}