Enzyme是一個(gè)React測試工具集,它允許您使用jQuery樣式的語法來遍歷和交互React組件,就像普通的DOM元素一樣。然而,有時(shí)候你需要將Enzyme中的React節(jié)點(diǎn)轉(zhuǎn)換為JSON格式,這時(shí)候就可以使用enzyme-to-json庫。
使用enzyme-to-json非常簡單,只需要首先安裝它:
npm install --save-dev enzyme-to-json
然后在測試代碼中使用它:
import { mount } from 'enzyme';
import toJson from 'enzyme-to-json';
const wrapper = mount( );
const componentJson = toJson(wrapper);
其中,toJson()
方法將Enzyme渲染的組件轉(zhuǎn)換為JSON格式。如果您需要Serialize一個(gè)shallow渲染的組件,您可以使用shallowToJson()
方法代替。
最后,您可以將JSON與所需的斷言庫一起使用,以保證測試通過:
expect(componentJson).toMatchSnapshot();
這將使用Jest的toMatchSnapshot()
方法將組件JSON與先前保存的快照比較,并驗(yàn)證組件output是否沒有變化。
Enzyme-to-json是Enzyme的一個(gè)有用的補(bǔ)充,使得測試React組件變得更加容易和容錯(cuò)。嘗試使用它來增強(qiáng)您的React開發(fā)測試!