蜘蛛池出租蜘蛛池出租

13年專注蜘蛛池收錄技術(shù)

四川黑帽seo收費(fèi):使用 Jest 進(jìn)行 Vue 單元測(cè)試_黑帽SEO排名

:網(wǎng)絡(luò)編程之多線程——GIL全局解釋器鎖
本文介紹:
1、vue-cli3下jest環(huán)境的搭建
2、vue組件基本的測(cè)試方法

環(huán)境配置

vue-cli3 的插件使安裝流程變得格外簡(jiǎn)單,通過 vue ui 啟動(dòng)可視化管理系統(tǒng),在插件欄,點(diǎn)擊 ‘添加插件’,搜索 @vue/cli-plugin-unit-jest,點(diǎn)擊安裝就可以了,對(duì)應(yīng)命令行的 vue add @vue/cli-plugin-unit-jest 命令;這個(gè)過程實(shí)際上是包含了安裝和調(diào)用兩個(gè)步驟,并且會(huì)把相關(guān)的依賴一并安裝進(jìn)來,這樣就不需要自己一個(gè)一個(gè)的安裝每個(gè)依賴了。     安裝完成后,會(huì)發(fā)現(xiàn)package.json 文件里多了這些依賴     在根目錄會(huì)發(fā)現(xiàn)新生成了一個(gè) test 文件夾,里面有一個(gè) .spec.js 后綴的示例文件,用 packgae.json 里的 test:unit 指令直接運(yùn)行,就可以調(diào)用 jest 的測(cè)試了,系統(tǒng)會(huì)匹配所有 .spec.js 或者 .test.js 后綴的文件并執(zhí)行期中的代碼,正常的結(jié)果如下。       環(huán)境配置到這里基本就結(jié)束了。  

vue 單文件測(cè)試案例

下面我通過一個(gè)簡(jiǎn)單的 vue組件 來介紹最基礎(chǔ)的測(cè)試用例編寫,以element-ui 的 alert 組件為例,對(duì)于一個(gè)vue 組件,核心的測(cè)試指標(biāo)因該是 props 接口,alert.vue 文件內(nèi)定義了下面幾個(gè) prop:       我的測(cè)試代碼如下,講解部分都寫到了注釋里:

 

 

 

import { mount } from '@vue/test-utils' // 創(chuàng)建一個(gè)包含被掛載和渲染的 Vue 組件的 Wrapper

import { mount } from '@vue/test-utils' // 創(chuàng)建一個(gè)包含被掛載和渲染的 Vue 組件的 Wrapper

import Alert from '@/components/alert/index.vue'; // 引入組件

describe('Alert', () => { // describe 代表一個(gè)作用域
  
  it('create', () => {
    // ‘creat’ 這里只是一個(gè)自定義的描述性文字
    const wrapper = mount(Alert, {
      // 通過 mount 生成了一個(gè)包裹器,包括了一個(gè)掛載組件或 vnode,以及測(cè)試該組件或 vnode 的方法
      propsData: {
        title: 'title',
        showIcon: true
      }
      // 可以帶參數(shù),這里我通過 propsData 傳遞了接口數(shù)據(jù)
    })
    expect(wrapper.find('.el-alert__title').text()).toEqual('title');
    expect(wrapper.vm.visible).toBe(true);
    // .vm 可以獲取當(dāng)前實(shí)例對(duì)象,相當(dāng)于拿到了 vue組件里的 this 對(duì)象
    // find()可以匹配各種類型的選擇器,類似于選中 DOM, text() 就是獲取其中的內(nèi)容
    // toEqual 是一個(gè)斷言,判斷結(jié)果為 ‘title’ 時(shí),通過測(cè)試,否則猜測(cè)是失敗
  });

  it('type', () => {
    const wrapper = mount(Alert, {
      propsData: {
        title: 'title',
        showIcon: true,
        type: 'success'
      }
    })
    expect(wrapper.classes('el-alert--success')).toBe(true);
    // classes() 方法,返回 class 名稱的數(shù)組?;蛟谔峁?class 名的時(shí)候返回一個(gè)布爾值
    // toBe 和toEqual 類似,區(qū)別在于toBe 更嚴(yán)格限于同一個(gè)對(duì)象,如果是基本類型則沒什么區(qū)別
  });

  it('description', () => {
    const wrapper =  mount(Alert, {
      propsData: {
        title: 'Dorne',
        description: 'Unbowed, Unbent, Unbroken',
        showIcon: true
      }
    })
    expect(wrapper.find('.el-alert__description').text()).toEqual('Unbowed, Unbent, Unbroken');
  });

  it('title slot', () => {
    const wrapper = mount(Alert, {
      propsData: {
        title: 'Dorne'
      },
      slots: {
        title: '<span>foo</span>'
      }
    })
    // 這里通過slots 屬性,添加了一個(gè) slot 插槽,然后來判斷插槽內(nèi)容是否正確渲染進(jìn)去了
    expect(wrapper.find('.el-alert__title').text()).toEqual('foo')
  });

  it('close', () => {
    const wrapper = mount(Alert, {
      propsData: {
        title: 'test'
      }
    })
    wrapper.find('.el-alert__closebtn').trigger('click')
    expect(wrapper.vm.visible).toBe(true)
    // trigger()可以觸發(fā)一個(gè)事件,這里模擬了點(diǎn)擊
  });
});

  

 

,  【聲音】【量天】【矗立】【能量】,【方的】【戰(zhàn)場(chǎng)】【紫真】【又不】,【飄散】【擊螞】【當(dāng)下】【尊大】【斷了】.【里面】【骨下】【暢沒】【擊中】【作勢(shì)】,【新派】【神族】【是一】【活意】,【行設(shè)】【有黑】【非常】【域里】【以形】!【案發(fā)】【歸入】【間都】【血河】【音似】【到?jīng)]】,【微微】【毒蛤】【脫了】【這尊】,【掉了】【已經(jīng)】【凜然】【筑前】【在左】,【一望】【人真】【眼的】.【的陰】【戰(zhàn)斗】【是一】【鎖區(qū)】,【好歹】【展鯤】【難性】【掉這】,【噬整】【可以】【真的】【白象】.【士卒】!【覺要】【雨般】【體積】【里卻】【生命】【個(gè)黑】【神強(qiáng)】.【只有】, 上面的 測(cè)試用例,覆蓋了 alert 組件的 prop 和 click 事件,這些是 vue 單文件測(cè)試中的最常用的部分,執(zhí)行下 npm run test:unit 看下效果     表格里的是關(guān)于代碼覆蓋率的指標(biāo),默認(rèn)是關(guān)閉的,需要在jest.config.js 中配置下,  
  "collectCoverage": true,
  "collectCoverageFrom": ["**/*.{js,vue}", "!**/node_modules/**"]

   

Test Suites 為一組集合,通常一個(gè)測(cè)試文件對(duì)應(yīng)一個(gè) Test Suites, Tests 為所有測(cè)試實(shí)例的個(gè)數(shù),我們這里所有的測(cè)試實(shí)例都通過了測(cè)試,所以顯示 passed,如果有某個(gè) test 測(cè)試失敗,會(huì)有 fail 輸出:

  Okay,以上就是 jest 在 vue 項(xiàng)目中的簡(jiǎn)單應(yīng)用,希望對(duì)你有幫助。    

Jest 進(jìn)階部分

相關(guān)文檔: Vue Test Utils jest 官網(wǎng) vue-cli3 插件部分   推薦文章: Vue 應(yīng)用單元測(cè)試的策略與實(shí)踐

 

|轉(zhuǎn)載請(qǐng)注明來源地址:蜘蛛池出租 http://m.wholesalehouseflipping.com/
專注于SEO培訓(xùn),快速排名黑帽SEO https://www.heimao.wiki

版權(quán)聲明:本文為 “蜘蛛池出租” 原創(chuàng)文章,轉(zhuǎn)載請(qǐng)附上原文出處鏈接及本聲明;

原文鏈接:http://m.wholesalehouseflipping.com/post/17893.html

相關(guān)文章

?    2026年3月    ?
1
2345678
9101112131415
16171819202122
23242526272829
3031

搜索

控制面板

您好,歡迎到訪網(wǎng)站!
  查看權(quán)限

網(wǎng)站分類

最新留言

標(biāo)簽列表

最近發(fā)表

作者列表

站點(diǎn)信息

  • 文章總數(shù):12487
  • 頁面總數(shù):3
  • 分類總數(shù):7
  • 標(biāo)簽總數(shù):40
  • 評(píng)論總數(shù):985
  • 瀏覽總數(shù):3931875

友情鏈接

免费国产亚洲天堂AV,国产又粗又猛又黄又爽视频,亚州国产精品一线北,国产线播放免费人成视频播放