我曾试着在react-test-renderer源代码中找到它,但无法找到它。
回想一下,在React中,值为undefined
的组件元素属性不会在DOM中呈现。即,在bat = undefined
和<Foo bar={bat} />
的情况下,bar
属性不会出现在生成的HTML中。
我假设它的预期行为,但我很困惑为什么,当Jest快照中的JSON树中出现可选组件属性时 - 除非快照只是确认该属性未指定(ws-automation-id
是一个可选的组件属性,没有定义defaultProps
条目):
exports[`the <TextButton/> component should use the specified class names 1`] = `
<button
className="gc-icon test-class1 test-class2"
onClick={[Function]}
ws-automation-id={undefined}
>
Button Text
</button>
`;
鉴于
test('should use the specified class names', () => {
const tree = create(<TextButton buttonText="Button Text" onClick={null} classNames={['test-class1', 'test-class2']} />).toJSON()
expect(tree).toMatchSnapshot()
})
答案 0 :(得分:0)
这是预期的。
从本质上讲,此软件包可以轻松获取由React DOM或React Native组件呈现的平台视图层次结构(类似于DOM树)的快照,而无需使用浏览器-React Test Renderer
这不完全是您从浏览器中看到的DOM树,而是代表类似内容的javascript对象。
答案 1 :(得分:0)
我忽略发布原始发布时正在使用的版本。此问题已修复,但是尚不清楚确切的版本。