【发布时间】:2019-04-19 23:29:58
【问题描述】:
我是整个测试的新手,并且一直在阅读 airbnb / jest 文档,试图弄清楚如何使这个测试工作,但目前没有想到可以成功运行。
我的快照中有一个 defaultValue,它等于每次运行测试时随机生成的新字符串。我很好奇如何定位此输入的 defaultValue 并将其设置为期望任何字符串。
测试:
expect(toJson(wrapper)).toMatchSnapshot({'[defaultValue]'.expect.any('string')});
来源:
<input
ref={this.myInput}
type="text"
placeholder=" Enter your name..."
defaultValue={getFunName()}
/>
【问题讨论】:
-
快照旨在检查任何东西是否发生了变化。如果该值是随机生成的,并且它改变了渲染的内容,则它永远不会*匹配快照。在这种情况下,您不想使用快照。
-
谢谢,输入是较大渲染的一小部分。我的目标是让快照测试整个组件,但是这个小智能是一个随机生成的字符串,理想情况下可以忽略。抱歉没有澄清。
标签: javascript reactjs jestjs enzyme