0

我短暂地尝试在 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()
})
4

2 回答 2

0

我忽略了发布原始帖子时使用的版本。此问题已修复,但具体版本尚不清楚。

于 2018-08-30T17:55:24.623 回答
0

这是意料之中的。

从本质上讲,这个包可以很容易地获取由 React DOM 或 React Native 组件渲染的平台视图层次结构(类似于 DOM 树)的快照,而无需使用浏览器——React Test Renderer

它并不完全是您从浏览器检查中看到的 DOM 树,而是代表类似事物的 javascript 对象。

于 2018-08-29T14:47:05.237 回答