当前位置:   article > 正文

前端自动化测试——vue单元测试vue-test-utils_vue项目单元测试 vue test utils

vue项目单元测试 vue test utils

自动化测试分类

单元测试

单元测试(unit testing),是指对软件中的最小可测试单元进行检查和验证。简单来说,单元就是人为规定的最小的被测功能模块,可能是一个单一函数或方法、一个完整的组件或类。

单元测试是最小巧也是最简单的测试——它们通过隔离单个组件的每一个部分,来在最小工作单元上进行断言。

单元测试侧重:检验函数的输出结果

e2e测试

e2e (端到端) 测试,致力于确保组件的一系列交互是正确的。它们是更高级别的测试,例如可能会测试用户是否注册、登录以及更新他们的用户名。这种测试运行起来会比单元测试和快照比对测试慢一些。

e2e测试侧重:从用户视角,对真实系统的访问行为进行仿真

快照比对测试

快照比对测试(snapshot testing)会保存你的 Vue 组件的标记,然后比较每次新生成的测试运行结果。如果有些东西改变了,开发者就会得到通知,并决定这个改变是刻意为之 (组件更新时) 还是意外发生的 (组件行为不正确)。

自动化测试框架

Jest、Mocha、Jasmine、sinon、chai、Karma、vue-test-utils都是什么?

名词 类型 名词
Jest 测试框架 Jest由Facebook开发,用于测试JavaScript代码(尤其是使用React JS开发的应用程序
集成了断言、JSDom、覆盖率报告等,是一款几乎零配置的测试框架
提供snapshot功能
Mocha 测试框架 基于JavaScript的自动化测试框架,用于测试使用Node.js运行的应用程序
比较年老的测试框架,在JavaScript界使用更广泛,可参考文献更多
Jasmine 测试框架 主要用于异步测试,是一个功能丰富的JavaScript自动化测试框架
Jasmine需要很多配置
sinon 测试框架 用于 JavaScript 的测试监视(spy)、桩(stub)和仿制(mock)功能。不依赖其他类库,兼容任何单元测试框架
chai 断言库 一套TDD(测试驱动开发)/BDD(行为驱动开发)的断言库
expect/should库
Karma 运行器 不是测试框架,也不是断言库,是允许你的JavaScript代码在复杂的浏览器运行的工具(抹平浏览器障碍)
vue-test-utils 单元测试工具库 vue官方提供的,专门为测试单文件组件而开发

为什么使用 vue-test-utils

vue-test-utils是vue官方的单元测试框架,提供了一系列非常方便的工具,使我们更轻松地为vue构建的应用来编写单元测试。主流的JavaScript测试运行器有很多,但vue-test-utils都能支持。它是测试运行器无关的。

为什么选择jest

因为 jest 包含了 karma + mocha + chai + sinon 的所有常用功能,零配置开箱即用

Vue官方是这样描述的:

Jest 是功能最全的测试运行器。它所需的配置是最少的,默认安装了 JSDOM,内置断言且命令行的用户体验非常好。不过你需要一个能够将单文件组件导入到测试中的预处理器。我们已经创建了 vue-jest 预处理器来处理最常见的单文件组件特性,但仍不是 vue-loader 100% 的功能。

vue-test-utils在Vue和Jest之间提供了一个桥梁,暴露出一些接口,让我们更加方便地通过Jest为Vue应用编写单元测试

安装

通过vue-cli创建模板脚手架时,可以选择是否启用单元测试,并且选择单元测试框架,这样Vue就帮助我们自动配置好了Jest

#1.运行命令,创建vue项目
vue create [project-name]

#2.选择"Manually select features" 和 "Unit Testing",以及 "Jest" 作为测试运行器。

#3. 安装完成,cd 进入项目目录中并运行
npm run test:unit
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

运行成功之后可以看到
在这里插入图片描述

demo介绍

在这里插入图片描述

为什么以spec.js命名<

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/820733
推荐阅读
相关标签
  

闽ICP备14008679号