为啥调试器要求我再次弹出?
Posted
技术标签:
【中文标题】为啥调试器要求我再次弹出?【英文标题】:Why does debugger ask me to eject again?为什么调试器要求我再次弹出? 【发布时间】:2019-03-18 10:32:43 【问题描述】:我正在考虑 create-react-app 并尝试了弹出选项。在“纱线弹出”之后,我正在尝试通过终端进行调试:
> react-scripts --inspect-brk test --runInBand
Debugger listening on ws://127.0.0.1:9229/45316de1-972e-47ab-9ce8-7ce2f183a378
For help, see: https://nodejs.org/en/docs/inspector
Debugger attached.
点击 chrome://inspect/#devices 中的检查链接时,控制台会打开并显示:
开箱即用,Create React App 仅支持覆盖这些 Jest 选项: • collectCoverageFrom • coverageReporters • coverageThreshold • globalSetup • globalTeardown • resetMocks • resetModules • snapshotSerializers • watchPathIgnorePatterns.这些 您的 package.json Jest 配置中的选项当前不是 Create React App 支持: • 解析器 • setupFiles • testMatch • testEnvironment • testURL • transform • transformIgnorePatterns • moduleNameMapper • moduleFileExtensions如果你想覆盖 其他 Jest 选项,您需要从默认设置中弹出。你可以 通过运行 npm runeject 来做到这一点,但请记住这是单向的 手术。你也可以向 Create React App 提出问题来讨论 支持更多开箱即用的选项。
这很奇怪,因为我以为我已经运行了弹出?
【问题讨论】:
【参考方案1】:react-scripts
是 unejected create-react-app
运行的可执行文件,因此无论项目是否被弹出,都会产生此消息。
npm run eject
将弹出项目scripts
中的react-scripts
替换为实际命令。在弹出的项目中,预计npm run test
会直接执行jest
,而不是react-scripts test
。
如果打算为 Node 提供额外的参数,它可能是这样的:
node --inspect-brk node_modules/.bin/jest test --runInBand
【讨论】:
chrome / jest 的任何替代方案来调试 js 单元测试? 我会选择 Chrome。如果单元测试被隔离并且包含足够的断言,通常我不需要调试它。如果断言失败,则会列出您可能要调试的值。如果 Jest 使用 CI 远程运行,您将无法调试它,但您需要从报告中找出问题所在。以上是关于为啥调试器要求我再次弹出?的主要内容,如果未能解决你的问题,请参考以下文章
为啥我的电脑开机就会弹出visual Studio 实时调试器啊?而且点击否就蓝屏,谢谢
为啥调试我的asp.net网站时有时会弹出反汇编程序/反汇编窗口?
为啥在运行C#时会弹出找不到调试类型coreclr调试适配器描述符?
为啥在 Edge 中调试我的 asp.net core 2.0 应用程序时显示“您需要一个新应用程序才能打开此本地主机”弹出窗口?