Enzyme

Enzyme主要包括三個測試:

① shallow:是官方測試工具庫 react-addons-test-utils 中 shallow rendering 的封裝。是將一個組件渲染成虛擬DOM對象的“淺渲染”。這種渲染不會涉及子組件,不需要DOM,生成的是虛擬DOM,所以渲染最快,然而它并不能測試子組件的相關(guān)代碼。

② mount:用于將React組件加載為真實(shí)DOM節(jié)點(diǎn),它會生成完整的DOM節(jié)點(diǎn),所以可以測試子組件。但是要依賴一個用jsdom模擬的瀏覽器環(huán)境。

③ render:會根據(jù)react組件得到一個靜態(tài)HTML文本結(jié)果,借助一個第三方的HTML解析庫Cheerio去生成一個類似于mount和shallow得到的封裝對象。它會將react組件渲染為html文本,然后在內(nèi)部通過Cheerio自動生成一個Cheerio對象。

shallow是最快,但是shallow有局限性,render的效率是mount的兩倍。shallow和mount因?yàn)槎际莇om對象的緣故,所以都是可以模擬交互的,而render是不能的。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • React項(xiàng)目的單元測試 React的組件結(jié)構(gòu)和JSX語法,對上一章的內(nèi)容來講進(jìn)行測試顯得很勉強(qiáng)。React官方已...
    韓子盧閱讀 1,747評論 1 4
  • React Native的單元測試Jest+Enzyme+storybook demo 配置 Jest配置 Jes...
    kyleBoy閱讀 2,457評論 0 2
  • 1 夏季的下午是悶熱悶熱的,風(fēng)扇開到最大也驅(qū)散不了熱氣,吹出來的風(fēng)也變得熱熱的。 阿梅家的小賣部門口最是熱鬧。阿梅...
    冬天day_winter閱讀 2,190評論 3 5
  • 主持人.王飛 親愛的洛卡滋嘉人們大家晚上好。我是今晚的主持人每好的溝通,來自真誠的自我介紹,大家好,我是王妃,來自...
    馮治飛閱讀 158評論 0 0
  • 有時,你不會知道一個時刻的真正價(jià)值,直到它變成回憶。 當(dāng)日歷翻過12月,我內(nèi)心里是拒絕的。我心里升起莫大的疑惑,與...
    步青城閱讀 499評論 2 5

友情鏈接更多精彩內(nèi)容