javascript - 为什么 Jest 快照会因为双引号而包含转义字符?

标签 javascript jestjs

Jest 中的某些东西对我来说似乎很奇怪。这行正常吗:

expect(`"Hello"`).toMatchSnapshot();

给我以下快照:

exports[`Item renders and matches the snapshot 1`] = `"\\"Hello\\""`;

我希望快照只是 "Hello"而不是 "\\"Hello\\"" .这是一个问题还是背后有什么我不明白的?

最佳答案

如果您运行浏览器开发工具,快照基于 JSON.stringify:

JSON.stringify("hello"); // outputs: '"hello"'
如您所见,我们有额外的单引号来包裹双引号
jest 使用相同的方法,但由于它使用双引号包装快照的结果,它需要转义你的值才能用双引号包装它,因此 "\\"Hello\\"".

关于javascript - 为什么 Jest 快照会因为双引号而包含转义字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56912226/

相关文章:

javascript - 空 <p> 元素实际上不是空的? Ascii 控制字符?

javascript - Jest +酵素。无法读取未定义的属性 '_isMockFunction'。模拟箭头的keyDown

javascript - 单元测试 ReactJS 组件产生不变违规 : findComponentRoot

jestjs - 如何将变量从 beforeEach 钩子(Hook)传递给 Jest 测试?

javascript - 使用 JavaScript 清理全局搜索和替换?

javascript - 更改滚动 : jerky movement vs. 平滑移动上的 CSS 变换

javascript - Safari 上页面刷新后未触发 beforeunload 事件

javascript - d3js 在每个轴的末尾显示箭头

javascript - 使用 TypeScript 在 Jest 中模拟依赖

javascript - 如何在 Jest 中测试调用和应用函数?