vue功能测试和生产环境切换(vue 单元测试的推荐插件和使用示例)
vue功能测试和生产环境切换
vue 单元测试的推荐插件和使用示例目录
- 框架
- 一流的错误报告
- 活跃的社区和团队
- Jest
- Mocha
- 推荐插件
- Vue Testing Library (@testing-library/vue)
- Vue Test Utils
- 示例
单元测试应该:
- 可以快速运行
- 易于理解
- 只测试一个独立单元的工作
因为单元测试的建议通常是框架无关的,所以下面只是当你在评估应用的单元测试工具时需要的一些基本指引。
一流的错误报告
当测试失败时,提供有用的错误信息对于单元测试框架来说至关重要。这是断言库应尽的职责。一个具有高质量错误信息的断言能够最小化调试问题所需的时间。除了简单地告诉你什么测试失败了,断言库还应额外提供上下文以及测试失败的原因,例如预期结果 vs. 实际得到的结果。
一些诸如 Jest 这样的单元测试框架会包含断言库。另一些诸如 Mocha 需要你单独安装断言库 (通常会用 Chai)。
活跃的社区和团队
因为主流的单元测试框架都是开源的,所以对于一些旨在长期维护其测试且确保项目本身保持活跃的团队来说,拥有一个活跃的社区是至关重要的。额外的好处是,在任何时候遇到问题时,一个活跃的社区会为你提供更多的支持。 尽管生态系统里有很多工具,这里我们列出一些在 Vue 生态系统中常用的单元测试工具。
Jest
Jest 是一个专注于简易性的 JavaScript 测试框架。一个其独特的功能是可以为测试生成快照 (snapshot),以提供另一种验证应用单元的方法。
Mocha
是一个专注于灵活性的 JavaScript 测试框架。因为其灵活性,它允许你选择不同的库来满足诸如侦听 (如 Sinon) 和断言 (如 Chai) 等其它常见的功能。另一个 Mocha 独特的功能是它不止可以在 Node.js 里运行测试,还可以在浏览器里运行测试。
推荐插件Vue Testing Library (@testing-library/vue)
Vue Testing Library 是一组专注于测试组件而不依赖实现细节的工具。由于在设计时就充分考虑了可访问性,它采用的方案也使重构变得轻而易举。
它的指导原则是,与软件使用方式相似的测试越多,它们提供的可信度就越高。
Vue Test Utils
Vue Test Utils 是官方的偏底层的组件测试库,它是为用户提供对 Vue 特定 API 的访问而编写的。如果你对测试 Vue 应用不熟悉,我们建议你使用 Vue Testing Library,它是 Vue Test Utils 的抽象。该库有很详尽的API文档 Vue Test Utils
示例<template> <li> <input v-model="username"> <li v-if="error" class="error" > {{ error }} </li> </li> </template> <script> export default { name: 'Hello', data () { return { username: '' } }, computed: { error () { return this.username.trim().length < 7 ? 'Please enter a longer username' : '' } } } </script>
以上就是vue 单元测试的推荐插件和使用示例的详细内容,更多关于vue 单元测试的资料请关注开心学习网其它相关文章!
- google 调试vue(Vue实现Google第三方登录的示例代码)
- vue如何检查数组变化(Vue2中无法检测到数组变动的原因及解决)
- vue项目引入element页面(vue-element-admin项目导入和导出的实现)
- vuex数据持续化(Vuex数据持久化实现的思路与代码)
- vue如何excel表格上传功能(Vue + iView实现Excel上传功能的完整代码)
- 详解从vue的组件传值着手观察者模式(详解从vue的组件传值着手观察者模式)
- vue监控对象变化(Vue之监听方法案例详解)
- vue插槽实例(Vue中插槽slot的使用方法与应用场景详析)
- vue项目的一些手动配置(使用vue项目配置多个代理的注意点)
- vuekeep-alive源码(vue中keepAlive组件的作用和使用方法详解)
- vue点击事件动态禁用(vue开发移动端使用better-scroll时click事件失效的解决方案)
- vuex-table行列转换效果(vue3+el-table实现行列转换)
- 小白vue教学(尤大大新活petite-vue的实现)
- vue双向数据绑定js如何实现(纯JS如何实现vue.js下的双向绑定功能)
- vue滑动切换页面(vue实现点击翻转效果)
- vue如何获取元素(vue第一次获取不到元素的解决方法记录)
- 涉及3条地铁线路 成都这4座轨道交通站点有新名字了(涉及3条地铁线路)
- 来了 成都轨道交通5条线路刷新 进度条(成都轨道交通5条线路刷新)
- 一部手机两套系统 OPPO Find X3的正确打开方式你知道吗(一部手机两套系统)
- OPPO用户看过来 汇总几个春节实用技巧,轻松搞定多设备联动玩法(汇总几个春节实用技巧)
- 北京旅游攻略(北京旅游攻略5日游及其花费)
- 四川旅游攻略(四川旅游攻略自由行攻略)
热门推荐
- vue3和vue2(Vue3对比Vue2的优点总结)
- cssborder三角形怎么画(使用CSS的border属性绘制各种几何形状的方法)
- docker中国加速镜像怎么设置(Docker 安装及配置镜像加速的实现)
- 如何调试部署在IIS上的网站
- cssdiv垂直居中怎么设置(CSS设置DIV垂直居中的N种方法 兼容IE浏览器)
- select into from 和 insert into select 的用法和区别
- left join on和where的区别
- 闭包python讲解(详解Python循环作用域与闭包)
- 宝塔面板进不去是什么原因(宝塔面板严重错误登录不上怎么办)
- BT宝塔Linux服务器管理助手架设VPS面板(安装及初始设置应用)(BT宝塔Linux服务器管理助手架设VPS面板安装及初始设置应用)