2

是否可以从使用 Jest、Enzyme、Chai 等测试的 DOM 元素中获取任何 css 值?从我目前所见,您只能将代码中提到的那些css值作为样式对象。但我没有找到一种方法来获取元素在 DOM 中可以具有的任何其他 css 值。例如,如果在使用样式对象的代码中为元素提供了 50% 的宽度,则在单元测试中无法获得该百分比宽度值的实际像素值。或者如果你甚至没有提到宽度、高度等,你能提取元素在被挂载到 DOM 后接收到的派生 css 值吗?

我的假设是,因为单元测试发生在模拟 DOM 类环境而不是实际浏览器的节点环境中,所以在某些情况下不可能获得实际的 DOM 值。

4

1 回答 1

1

如果您使用mount(),则可以获得 DOM 元素,而不是shallow()

const wrapper = mount(<MyElement />)
const domEl = wrapper.getDOMNode()

更多信息:https ://github.com/airbnb/enzyme/blob/master/docs/api/ReactWrapper/getDOMNode.md

于 2018-03-13T07:30:25.210 回答