【发布时间】:2021-12-29 22:21:55
【问题描述】:
Bugsnag.start({
apiKey: BUGSNAG_KEY,
plugins: [new BugsnagPluginReact()],
releaseStage: process.env.NODE_ENV,
appVersion: APP_VERSION,
})
const ErrorBoundary = Bugsnag.getPlugin('react').createErrorBoundary(React)
使用“@bugsnag/js”:“^7.11.0”,“@bugsnag/plugin-react”:“^7.11.0”,
试图做 jest.mock("@bugsnag/js") 但得到错误 TypeError:无法读取未定义的属性“createErrorBoundary”
【问题讨论】:
-
显示测试代码。另外,请提供完整、最少的代码
-
您可能不应该模拟 Bugsnag - 这是您不拥有的 API。根据您要测试的内容以及边界所在的位置,您可能希望将其封装在例如您拥有的一个函数(并且您可以轻松地模拟)或简单地对没有错误边界的组件进行单元测试(然后进行集成级测试,以确保错误边界自身的行为是适当的)。
-
在 GitHub 上的
bugsnag-js存储库中有一个关于问题之一的对话,讨论了如何在测试中处理 Bugsnag 和ErrorBoundary组件:github.com/bugsnag/bugsnag-js/issues/344#issuecomment-386156305。可能值得回顾一下,看看你的进展如何?