vue 單元測試的推薦插件和使用示例
單元測試應(yīng)該:
- 可以快速運(yùn)行
- 易于理解
- 只測試一個(gè)獨(dú)立單元的工作
框架
因?yàn)閱卧獪y試的建議通常是框架無關(guān)的,所以下面只是當(dāng)你在評估應(yīng)用的單元測試工具時(shí)需要的一些基本指引。
一流的錯(cuò)誤報(bào)告
當(dāng)測試失敗時(shí),提供有用的錯(cuò)誤信息對于單元測試框架來說至關(guān)重要。這是斷言庫應(yīng)盡的職責(zé)。一個(gè)具有高質(zhì)量錯(cuò)誤信息的斷言能夠最小化調(diào)試問題所需的時(shí)間。除了簡單地告訴你什么測試失敗了,斷言庫還應(yīng)額外提供上下文以及測試失敗的原因,例如預(yù)期結(jié)果 vs. 實(shí)際得到的結(jié)果。
一些諸如 Jest 這樣的單元測試框架會包含斷言庫。另一些諸如 Mocha 需要你單獨(dú)安裝斷言庫 (通常會用 Chai)。
活躍的社區(qū)和團(tuán)隊(duì)
因?yàn)橹髁鞯膯卧獪y試框架都是開源的,所以對于一些旨在長期維護(hù)其測試且確保項(xiàng)目本身保持活躍的團(tuán)隊(duì)來說,擁有一個(gè)活躍的社區(qū)是至關(guān)重要的。額外的好處是,在任何時(shí)候遇到問題時(shí),一個(gè)活躍的社區(qū)會為你提供更多的支持。 盡管生態(tài)系統(tǒng)里有很多工具,這里我們列出一些在 Vue 生態(tài)系統(tǒng)中常用的單元測試工具。
Jest
Jest 是一個(gè)專注于簡易性的 JavaScript 測試框架。一個(gè)其獨(dú)特的功能是可以為測試生成快照 (snapshot),以提供另一種驗(yàn)證應(yīng)用單元的方法。
Mocha
是一個(gè)專注于靈活性的 JavaScript 測試框架。因?yàn)槠潇`活性,它允許你選擇不同的庫來滿足諸如偵聽 (如 Sinon) 和斷言 (如 Chai) 等其它常見的功能。另一個(gè) Mocha 獨(dú)特的功能是它不止可以在 Node.js 里運(yùn)行測試,還可以在瀏覽器里運(yùn)行測試。
推薦插件
Vue Testing Library (@testing-library/vue)
Vue Testing Library 是一組專注于測試組件而不依賴實(shí)現(xiàn)細(xì)節(jié)的工具。由于在設(shè)計(jì)時(shí)就充分考慮了可訪問性,它采用的方案也使重構(gòu)變得輕而易舉。
它的指導(dǎo)原則是,與軟件使用方式相似的測試越多,它們提供的可信度就越高。
Vue Test Utils
Vue Test Utils 是官方的偏底層的組件測試庫,它是為用戶提供對 Vue 特定 API 的訪問而編寫的。如果你對測試 Vue 應(yīng)用不熟悉,我們建議你使用 Vue Testing Library,它是 Vue Test Utils 的抽象。該庫有很詳盡的API文檔 Vue Test Utils
示例
<template> <div> <input v-model="username"> <div v-if="error" class="error" > {{ error }} </div> </div> </template> <script> export default { name: 'Hello', data () { return { username: '' } }, computed: { error () { return this.username.trim().length < 7 ? 'Please enter a longer username' : '' } } } </script>
以上就是vue 單元測試的推薦插件和使用示例的詳細(xì)內(nèi)容,更多關(guān)于vue 單元測試的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Vue3數(shù)字滾動(dòng)插件vue-countup-v3的使用
vue-countup-v3 插件是一個(gè)基于 Vue3 的數(shù)字動(dòng)畫插件,用于在網(wǎng)站或應(yīng)用程序中創(chuàng)建帶有數(shù)字動(dòng)畫效果的計(jì)數(shù)器,本文主要介紹了Vue3數(shù)字滾動(dòng)插件vue-countup-v3的使用,感興趣的可以了解一下2023-10-10Vuejs+vue-router打包+Nginx配置的實(shí)例
今天小編就為大家分享一篇Vuejs+vue-router打包+Nginx配置的實(shí)例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-09-09Vue+axios使用FormData方式向后端發(fā)送數(shù)據(jù)
在前后端分離的項(xiàng)目中經(jīng)常使用到Vue+axios通過FormData的方式向后端發(fā)送表單數(shù)據(jù),下面就來介紹一下如何實(shí)現(xiàn),感興趣的可以了解一下2023-09-09Vue3中簡單實(shí)現(xiàn)動(dòng)態(tài)添加路由
本文主要介紹了Vue3中簡單實(shí)現(xiàn)動(dòng)態(tài)添加路由,,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-05-05vue項(xiàng)目前端錯(cuò)誤收集之sentry教程詳解
Sentry 是一個(gè)開源的錯(cuò)誤追蹤工具,可以幫助開發(fā)人員實(shí)時(shí)監(jiān)控和修復(fù)系統(tǒng)中的錯(cuò)誤。這篇文章主要介紹了vue項(xiàng)目前端錯(cuò)誤收集之sentry,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-05-05