如何使用Jest,Enzyme或任何其他单元测试库/框架获取dom元素的css值?

时间:2018-03-13 07:19:58

标签: unit-testing enzyme jest chai-enzyme

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

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

1 个答案:

答案 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