使用@testing-library/react中screen.debug()报「Unexpected debug statement」错误排查
「Unexpected debug statement」错误原因
这个报错是ESLint代码检查规则触发的,主要有两种情况:
- 项目启用了ESLint的
no-debugger基础规则,screen.debug()的底层逻辑涉及调试操作,被该规则判定为违规代码。 - 你可能安装了
eslint-plugin-testing-library插件,它自带的testing-library/no-debug规则默认禁止在测试代码中使用screen.debug(),目的是防止调试代码不小心被提交到正式仓库。
快速解决办法(可选)
- 临时绕过检查:在
screen.debug()那行上方添加注释,比如// eslint-disable-next-line testing-library/no-debug(精准关闭对应规则),或者直接写// eslint-disable-next-line关闭当前行的所有ESLint检查。 - 长期允许调试:在项目的ESLint配置文件(比如
.eslintrc.js)中修改规则,把对应规则设为off:module.exports = { rules: { 'testing-library/no-debug': 'off', // 如果是no-debugger规则导致的,就添加下面这行 'no-debugger': 'off' } }
内容的提问来源于stack exchange,提问作者Felix Atlas
相关产品推荐
相关产品推荐

