立即迁移到 Netlify

Netlify 宣布 Gatsby Cloud 的下一次迭代。 了解更多

如何创建最小化复现

什么是可复现的测试用例?

可复现的测试用例是指一个用于演示问题的最小化的 Gatsby 网站,通常这个问题是由 Gatsby、Gatsby 插件或用户代码中的 bug 引起的。您的可复现测试用例应包含清楚演示 bug 所需的最少功能。

为什么应该创建可复现的测试用例?

可复现的测试用例能让您隔离问题的根源,这是修复问题的首要步骤!

任何 bug 报告中 最重要的一部分 是描述重现 bug 的确切步骤。

可复现的测试用例是共享引起 bug 的特定环境的好方法。您的可复现测试用例是帮助想要帮助 的人的最佳方式。

创建可复现测试用例的步骤

  • 使用官方的 gatsby-starter-minimal starter 创建一个新的 Gatsby 网站: npx gatsby new bug-repro https://github.com/gatsbyjs/gatsby-starter-minimal
  • 添加任何与问题相关的 Gatsby 插件。例如,如果您在使用 MDX 时遇到问题,您应该安装并配置 gatsby-plugin-mdx。只添加演示问题所需的插件。
  • 添加重现您遇到的错误所需的代码。
  • 验证在运行 gatsby develop/gatsby build/gatsby serve 时是否看到预期的错误。
  • 发布代码(您的 GitHub 账户是很好的存放地点),然后在 创建 issue 或打开支持票证时链接到它。在创建 issue/支持票证时,请提供尽可能多的详细信息。这还可以包括终端或浏览器中错误消息的屏幕截图。

可选步骤

有时可能需要您与团队共享其他信息,例如,当 Gatsby Cloud 或 CMS 涉及其中时。以下是一些您可以采取的改进您的最小化复现的可选步骤。

  • 如果您的 Gatsby Cloud 构建失败,请复制 URL 并与我们分享。如果一个实时 URL 表现异常,也请复制该特定 URL 并描述您期望的行为以及您实际看到的行为。有关您网站上问题的屏幕截图或视频也很受欢迎。
  • 如果您的复现需要成功连接到 CMS 才能构建并显示错误,请为该 CMS 设置一个非生产环境供我们使用。您可以通过例如从头开始设置一个新实例并填充一些内容来做到这一点。如果那不可行,请提供具体说明如何使用您的生产环境。

在线开发环境

您可以使用在线 IDE 来设置环境,而不是将 gatsby-starter-minimal 克隆到本地计算机并在那里进行开发。可用选项

可复现测试用例的好处

  • 表面积更小:通过去除除了错误之外的所有内容,您不必费力去寻找 bug。
  • 无需发布秘密代码:您可能无法发布您的主要网站(出于多种原因)。将其中一小部分重制为可复现的测试用例,可以允许您公开演示问题,而无需暴露任何秘密代码。
  • bug 的证据:有时 bug 是由您机器上的一些设置组合引起的。可复现的测试用例允许贡献者将您的构建下载并在他们自己的机器上进行测试。这有助于验证和缩小问题的根源。
  • 获得修复 bug 的帮助:如果其他人可以重现您的问题,他们通常很有机会修复该问题。如果不先能够重现 bug,几乎不可能修复它。

立即开始构建,在 Netlify!
在 GitHub 上编辑此页面
©2025Gatsby, Inc.