是否有可能从使用Jest,Enzyme,Chai等测试的DOM元素中获取任何css值?从我到目前为止看到的,您只能将代码中提到的那些css值作为样式对象。但我没有找到一种方法来获取该元素在DOM中可以拥有的任何其他css值。 例如,如果在使用样式对象的代码中提供宽度为50%的元素,则在单元测试中不可能获得该百分比宽度值的实际像素值。或者如果你甚至没有提到宽度,高度等,你可以提取元素在DOM中安装后得到的派生css值吗?
我的假设是,因为单元测试发生在模拟类似DOM的环境但不是实际浏览器的节点环境中,所以在某些情况下不可能获得实际的DOM值。
答案 0 :(得分:1)
如果您使用mount()
而不是shallow()
,则可以获取DOM元素:
const wrapper = mount(<MyElement />)
const domEl = wrapper.getDOMNode()
更多信息:https://github.com/airbnb/enzyme/blob/master/docs/api/ReactWrapper/getDOMNode.md