返回顶部
首页 > 资讯 > 精选 >Vue组件如何进行单元测试
  • 457
分享到

Vue组件如何进行单元测试

2023-06-29 23:06:30 457人浏览 八月长安
摘要

本篇内容介绍了“Vue组件如何进行单元测试”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!我们先来简单解释一下单元测试:就是对函数的输入输出进

本篇内容介绍了“Vue组件如何进行单元测试”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

Vue组件如何进行单元测试

我们先来简单解释一下单元测试:就是对函数的输入输出进行测试,使用断言的方式,判断我们输入的用例的结果和我们实际输入的结果是否相同

组件的单元测试就是使用单元测试工具,对组件的各种状态和行为进行测试

组件单元测试的好处

  • 提供描述组件行为的文档

  • 节省手动测试的时间

  • 减少研发新特性时产生的bug

  • 改进设计

  • 促进重构

准备工作

在我们进行单元测试模拟之前,我们需要对环境进行一些配置

安装依赖

  • Vue Test Utils  (学习视频分享:vuejs教程

npm install --save-dev jsdom jsdom-global
  • Jest

npm install --save-dev jest
  • vue-jest

npm install --save-dev @vue/vue2-jest # (use the appropriate version)
  • babel-jest

yarn add --dev babel-jest @babel/core

安装测试依赖

yarn add jest @vue/test-utils vue-jest babel-jest -D -W

这里有点小问题,如果使用下发的命令进行安装的话会出现一点点的小错误

yarn add jest @vue/test-utils vue-jest babel-jest -D

报错截图:

Vue组件如何进行单元测试

Jest 的配置

jest.config.js

module.exports = {  "testMatch": ["**/__tests__*.[jt]s?(x)"],  "moduleFileExtensions": [    "js",    "JSON",    // 告诉 Jest 处理 `*.vue` 文件    "vue"  ],  "transfORM": {    // 用 `vue-jest` 处理 `*.vue` 文件    ".*\\.(vue)$": "vue-jest",    // 用 `babel-jest` 处理 js    ".*\\.(js)$": "babel-jest"   }}

基于上面的测试文件的配置,我们会将每个测试文件的配置放置于__tests__

创建测试用例:

我们使用:packages\inputinput 组件进行测试

packages\input 文件夹下 创建 __tests__ 文件夹 后创建 input.test.js

这里先给大家普及一下几个常用的api

Vue组件如何进行单元测试

测试用例1 判断是否是文本框

import input from '../src/input.vue'import { mount } from '@vue/test-utils' // 挂载describe('lg-input', () => {  test('input-text', () => {    const wrapper = mount(input)    expect(wrapper.html()).toContain('input type="text"')  })})

这里我们需要 使用@vue/test-utils提供的mount方法进行挂载,注意,这里只是在内存中进行挂载,并且我们需要保存这个包裹器返回的内容

const wrapper = mount(input)

这个用例很简单,就是想要知道我们生产的是否是一个文本框,这里一个简单的测试用例就写完了,接着我们运行一下:

yarn test

运行结果

Vue组件如何进行单元测试

修改用例

expect(wrapper.html()).toContain('input type="tex123123123t"')

运行结果

Vue组件如何进行单元测试

Vue组件如何进行单元测试

测试失败,提示没有找到input type="tex123123123t"的内容,符合预期,没有问题。

测试用例2 判断是否是密码框

 test('input-passWord', () => {    const wrapper = mount(input, {      propsData: {        type: 'password'      }    })    expect(wrapper.html()).toContain('input type="password"')  })

我们可以通过propsData来进行设置组件的props属性

运行结果

Vue组件如何进行单元测试

测试用例3 组件接收值是否正确

  test('input-password', () => {    const wrapper = mount(input, {      propsData: {        type: 'password',        value: 'admin'      }    })    expect(wrapper.props('value')).toBe('admin')  })

这里我们通过wrapper.props获取他的props属性,拿到这个值之后,进行判断

运行结果

Vue组件如何进行单元测试

测试用例4 快照的使用

  test('input-snapshot', () => {    const wrapper = mount(input, {      propsData: {        type: 'text',        value: 'admin'      }    })    expect(wrapper.vm.$el).toMatchSnapshot()  })

我们要把挂载的dom对象拍一个快照,我们第一次调用这个方法的时候,他会把这个内容挂载到一个特殊的文本文件中,当我们再次生产测试的时候,会将我们刚刚存储的文件进行对比,如果发生了变化就会出现测试失败的情况

文件结构:

Vue组件如何进行单元测试

修改快照的propsData

propsData: {    type: 'password',    value: 'admin'}

测试结果

Vue组件如何进行单元测试

Vue组件如何进行单元测试

删除快照结果,重新生成

yarn test -u

“Vue组件如何进行单元测试”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

--结束END--

本文标题: Vue组件如何进行单元测试

本文链接: https://lsjlt.com/news/326671.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Vue组件如何进行单元测试
    本篇内容介绍了“Vue组件如何进行单元测试”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!我们先来简单解释一下单元测试:就是对函数的输入输出进...
    99+
    2023-06-29
  • Android如何进行单元测试
      Menifest.xml中加入: <application>中加入: <uses-library android:name="andro...
    99+
    2022-06-06
    单元 单元测试 测试 Android
  • 如何进行C++单元测试?
    如何进行C++单元测试?C++是一种广泛使用的编程语言,常用于开发各种类型的应用程序。为了确保代码的质量和可靠性,进行单元测试是非常重要的。本文将介绍如何进行C++单元测试,以帮助开发人员更好地掌握这一技能。学习并选择合适的测试框架在进行C...
    99+
    2023-11-02
    测试框架 断言 C++ 单元测试
  • 如何进行PHP的单元测试?
    随着软件开发的不断发展,测试已经成为开发过程中不可或缺的一部分。在进行测试时,单元测试是非常重要的一种测试方式。在 PHP 中,使用单元测试可以有效地减少代码中存在的错误,提高代码质量。本文将向你介绍如何进行 PHP 的单元测试。一、什么是...
    99+
    2023-05-14
    PHP 单元测试 测试覆盖率
  • PHP数组分页中如何进行单元测试?
    php 数组分页单元测试指南包括:测试边缘情况(空数组、无效页码);测试分页结果是否正确(第一页、中间页、最后一页);测试总页码计算是否正确(元素数量等于每页元素数量、元素数量大于每页元...
    99+
    2024-05-01
    php 单元测试
  • web开发如何进行单元测试
    这篇文章主要介绍“web开发如何进行单元测试”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“web开发如何进行单元测试”文章能帮助大家解决问题。软件软件是可以改变的。...
    99+
    2024-04-02
  • PHP 函数如何进行单元测试
    php 单元测试用于验证独立函数或模块的功能,使用 phpunit 框架。包含以下步骤:安装 phpunit,创建以 test 结尾继承自 phpunit_framework_testc...
    99+
    2024-04-10
    php 单元测试 composer
  • 如何使用 PHP 进行单元测试?
    单元测试检查软件的最小构成部分(如函数、方法),php 可通过 phpunit 框架进行单元测试。首先安装 phpunit,然后创建测试类(扩展自 testcase),再编写以 "tes...
    99+
    2024-04-19
    php 单元测试 composer
  • Android下进行单元测试
      在Android测试中,主要使用JUnit进行单元测试。其执行主要注意以下两点   1、测试类必须要继承android下的AndroidTestCase类,并使用as...
    99+
    2022-06-06
    单元 单元测试 测试 Android
  • 如何对Entity Framework Core进行单元测试
    这篇文章主要介绍如何对Entity Framework Core进行单元测试,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!一、引言我们先来讲解如何对EntityFrameworkCore进行单元测...
    99+
    2023-06-29
  • C++ 函数库如何进行单元测试?
    在 c++++ 函数库中使用 google test 进行单元测试可确保其可靠性,具体步骤如下:安装 google test为函数库创建单元测试:创建“.test.cpp”文件并包含 g...
    99+
    2024-04-19
    c++ 单元测试 git
  • Vue组件单元测试的示例分析
    这篇文章将为大家详细讲解有关Vue组件单元测试的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。关于 Vue 组件单元测试最常见的问题就是“我究竟应该测试什么?”虽...
    99+
    2024-04-02
  • Go单元测试对GORM进行Mock测试
    目录前言项目准备初始化测试工作对Create进行Mock测试Get 操作的Mock测试Update 操作的Mock测试总结前言 在 Go 单元测试这个系列的第二部分 数据库...
    99+
    2024-04-02
  • 在android中进行单元测试
      在开发过程中,无论是什么语言,如果能够熟练使用单元测试,提高的效率那是大大地,当测试或某相关的小姑娘报bug的时候,站在你身边,用无辜的大眼睛对 你说,“公...
    99+
    2022-06-06
    单元 单元测试 测试 Android
  • Android中如何使用JUnit进行单元测试
      在我们日常开发android app的时候,需要不断地进行测试,所以使用JUnit测试框架显得格外重要,学会JUnit可以加快应用的开发周期。   Android中建...
    99+
    2022-06-06
    单元 junit 单元测试 测试 Android
  • 如何使用MockMvc进行controller层单元测试
    这篇文章主要介绍了如何使用MockMvc进行controller层单元测试,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。看代码吧~package com.ieou....
    99+
    2023-06-15
  • 如何进行ABAP和Java SpringBoot的单元测试
    本篇文章为大家展示了如何进行ABAP和Java SpringBoot的单元测试,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。ABAP在ABAP类里,本地类(Local Class)里用关键字FOR ...
    99+
    2023-06-02
  • 如何使用单元测试框架对 Golang 函数进行测试?
    go 中使用单元测试框架进行单元测试:导入 testing 包。编写以 test 为前缀的单元测试函数。使用断言函数(如 assertequal())验证测试结果。运行单元测试(go t...
    99+
    2024-04-16
    golang 单元测试 标准库
  • Android应用开发中如何进行单元测试
      本文主要和大家分享如何在Android应用开发过程中如何进行单元测试,个人在做项目的过程中,觉得单元测试很有必要,以保证我们编写程序的正确性。下面我们先大概了解下...
    99+
    2022-06-06
    单元 单元测试 测试 Android
  • 如何对Android系统手机进行单元测试
    如何进行Android单元测试    外面加入:   MISSION android:name="android.permission.RUN_INSTR...
    99+
    2022-06-06
    单元 单元测试 手机 测试 Android
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作