编辑2:我现在在React应用程序中测试了这些文件。 JavaScript按预期工作,因此唯一的实际问题似乎是Jest快照不一致地处理转义字符,包括哪些不是有效的JS,这可能会使调试混乱。测试仍然可以正常工作,只看快照可能会令人困惑。
编辑:我的问题与关于何时使用单引号或双引号的问题不重复。我想知道为什么逃避反斜杠似乎无法在JSX或Jest快照中工作,但是逃避报价呢。
\\ should become \ yet it appears as \\ in the official Jest example
我正在学习Jest并查看他们的快照测试示例。在称为正确转义引号的测试中,引号被正确转义,但是有两个反斜杠在一起的部分,它们都在快照中呈现。
这是与Jest快照相关的一些独特的事物或错误吗?
这是测试
it('properly escapes quotes', () => {
const tree = renderer
.create(
<Link>
{"\"Facebook\" \\'is \\ 'awesome'"}
</Link>
)
.toJSON();
expect(tree).toMatchSnapshot();
});
以下是快照输出:
exports[`properly escapes quotes 1`] = `
<a
className="normal"
href="#"
onMouseEnter={[Function]}
onMouseLeave={[Function]}
>
"Facebook" \\'is \\ 'awesome'
</a>
`;
为什么不将双反斜杠呈现为一个反斜杠?毕竟不是JavaScript的工作方式吗?
我很感激任何帮助。
答案 0 :(得分:0)
我现在在React应用中测试了这些文件。 JavaScript按预期工作,因此唯一的实际问题似乎是Jest快照不一致地处理转义字符,包括哪些不是有效的JS,这可能会使调试混乱。
测试仍然可以正常工作,只看快照可能会令人困惑。