Javascript 预期(x).toMatchSnapshot()->;使用默认的serialiser或JSON.stringify()?
Jest有一个特性,它的docs示例展示了如何将它与React组件一起使用。(Javascript 预期(x).toMatchSnapshot()->;使用默认的serialiser或JSON.stringify()?,javascript,json,snapshot,jestjs,Javascript,Json,Snapshot,Jestjs,Jest有一个特性,它的docs示例展示了如何将它与React组件一起使用。(renderer.create(…).toJSON()) 使用此功能测试常规Javascript对象时,我想到了两种可能的方法: expect(x).toMatchSnapshot() 这使用默认的序列化程序 expect(JSON.stringify(x,未定义,2)).toMatchSnapshot() 这将使用JSON.stringify作为序列化程序 当然,保存的.snap文件的内容在每种情况下都是
renderer.create(…).toJSON()
)
使用此功能测试常规Javascript对象时,我想到了两种可能的方法:
expect(x).toMatchSnapshot()
- 这使用默认的序列化程序
expect(JSON.stringify(x,未定义,2)).toMatchSnapshot()
- 这将使用
作为序列化程序JSON.stringify
- 这将使用
.snap
文件的内容在每种情况下都是不同的;但否则,它们将以同样的方式有效地执行
在这种情况下,哪种做法被视为最佳做法
还有其他推荐方法吗?没有最佳实践。做最适合你的事情。如果你发现你的快照在
JSON.stringify
上有更多有价值的信息,那就去做吧
对于复杂的值(如Vue组件或库对象),您也可以编写自己的序列化程序:谢谢链接。我正在尝试一个非常简单的自定义序列化程序:。。。让我们看看结果如何