vue-自动化测试框架JEST和CYRPESS

这篇具有很好参考价值的文章主要介绍了vue-自动化测试框架JEST和CYRPESS。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前端自动化测试概念

为什么需要写前端自动化

大部分企业为了追求开发效率,所以并没有去强制要求员工写前端自动化测试的代码。另一部分企业则会要求前端开发额外写前端自动化测试。那么写和不写到底有哪些区别呢?

不写前端自动化测试代码:

修改某个模块功能时,其它模块也受影响,很难快速定位bug
多人开发代码越来越难以维护
不方便迭代,代码重构困难
代码质量差,参差不齐

增加自动化测试后:

我们为核心功能编写测试后可以保障项目的可靠性
强迫开发者编写更容易被测试的代码,提高代码质量
编写的测试有文档的作用,方便维护
开发速度有所变慢,因为要多写一份测试代码(手动滑稽)

单元测试(Unit Testing)

单元测试是指对程序中最小可测试单元进行的测试,例如测试一个函数、一个模块、一个组件…

集成测试(Integration Testing)

将已测试过的单元测试函数进行组合集成暴露出的高层函数或类的封装,对这些函数或类进行的测试。

端到端测试(E2E Testing)

打开应用程序模拟输入,检查功能以及界面是否正确

JEST使用教程

1、安装sdk(vue2环境)

npm install @vue/cli-plugin-unit-jest@4.5.10 @vue/test-utils@1.0.3 babel-jest@22.4.3 vue-jest -D

2、在项目根目录下新增 jest.config.js 配置文件

//文件配置
module.exports = {
  collectCoverage: true,
  collectCoverageFrom: [
    "**/src/components/**/*.{js,vue}"//我这里主要是针对组件进行测试
  ],
  testRegex: '(/tests/unit/.*\\.(test|spec))\\.[tj]sx?$',//测试文件的地址配置
  transform: {
    "^.+\\.js$": "<rootDir>/node_modules/babel-jest",//告诉 Jest 用 babel-jest 处理 JavaScript 测试文件
    ".*\\.(vue)$": "<rootDir>/node_modules/vue-jest"//告诉 Jest 用 vue-jest 处理 .vue 文件
  },
  moduleNameMapper:{
    "^@/(.*)$": "<rootDir>/src/$1"//别名配置
  },
}

附加:jest配置文件说明,文档地址1 、文档地址2

vue-自动化测试框架JEST和CYRPESS

3、建立测试文件

(1)根目录/src/component/ZTest/index.vue

<template>
  <div>
    <span>{{ msg }}</span>
    <span>{{ msg1 }}</span>
    <button class="btn" @click="changeMsg">点我</button>
  </div>
</template>

<script>
  export default {
    data() {
      return {
        msg: "vue test",
        msg1: "你好",
      };
    },
    created() {
      this.msg = "aftermounted";
    },
    mounted() {
      this.msg1 = "测试下vue组件";
    },
    methods: {
      changeMsg() {
        this.msg = "click over";
      },
    },
  };
</script>

(2)根目录/tests/unit/ZTest.spec.js

import Vue from "vue";
import zhifeijiComp from "@/components/ZTest/index.vue";
import { mount } from "@vue/test-utils";

describe("测试zhifeiji组件", () => {
  it("测试初始化的data", () => {
    expect(zhifeijiComp.data().msg).toBe("vue test");
  });
  //created和mounted里数据测试都是一样的
  it("测试新建完毕后,create生命周期后的数据", () => {
    //created
    let vm = new Vue(zhifeijiComp).$mount();
    expect(vm.msg).toBe("aftermounted");
  });
  it("测试新建完毕后,create生命周期后的数据", () => {
    //mounted
    let vm = new Vue(zhifeijiComp).$mount();
    expect(vm.msg1).toBe("测试下vue组件");
  });
  //点击事件测试
  it("测试点击后,msg的改变", () => {
    // $mount处理不了用户交互,所以我们要用到vue官方推荐的@vue/test-utils
    let wrapper = mount(zhifeijiComp);
    expect(wrapper.vm.msg).toBe("aftermounted");
    //点击一下
    wrapper.find(".btn").trigger("click");
    expect(wrapper.vm.msg).toBe("click over");
  });
});

4、运行测试结果

vue-自动化测试框架JEST和CYRPESS

E2E使用教程

概念和作用:end to end,端到端,前端到后端整个过程的测试(也叫功能测试/连接测试)。主要是测业务,绝大部分情况是指在浏览器上对某个网站进行某个的操作,模拟用户操作得出期望的结果

1、安装插件(vue2环境),cypress官网文档

npm install @vue/cli-plugin-e2e-cypress@4.5.10 -D

2、根目录/tests/e2e/specs/test.js

describe('My First Test', () => {
  it('Visits the app root url', () => {
    cy.visit('/')
    cy.contains('h1', 'Welcome to Your Vue.js App')
  })
})

3、启动项目

npm run test:e2e

4、启动后弹出一个弹窗,点击你要测试的文件,或者所有文件一起测试

vue-自动化测试框架JEST和CYRPESS

绿钩代表成功通过测试

vue-自动化测试框架JEST和CYRPESS文章来源地址https://www.toymoban.com/news/detail-456646.html

到了这里,关于vue-自动化测试框架JEST和CYRPESS的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • vue3配置jest自动化测试

    前排提醒,并不是所有的项目都需要单元测试,因为写单元测试真的很耗时间。单元测试主要针对需求变更不多,项目时间充裕的项目。如elementui这种框架类的项目 本文主要针对vue3+vuecli4 这里主要有两种情况:新建项目和老项目 对于新建项目,在通过脚手架生成时可选择

    2024年02月12日
    浏览(46)
  • 前端自动化测试框架-Cypress

    一提起 Web UI 自动化时,大多数都会想到自动化测试工具 Selenium。随着测试技术的不断发展,出现了很多优秀的自动化测试工具。 本篇将介绍一款目前市面上很受欢迎的自动化测试工具-Cypress。 Cypress 是一个易于使用、快速稳定、可靠性高、全面性强的自动化测试框架,因此

    2024年02月10日
    浏览(37)
  • Vue前端自动化测试-Vue Test Utils

    vue-test-utils是vue官方的单元测试框架,提供了一系列非常方便的工具,使我们更轻松地为vue构建的应用来编写单元测试。主流的JavaScript测试运行器有很多,但vue-test-utils都能支持。它是与测试运行器无关的。 通过脚手架 vue-cli 来新建项目的时候,如果选择了 Unit Testing 单元测

    2024年02月13日
    浏览(38)
  • 二、搭建前后端分离的自动化测试平台的前端Vue3+Element-plus前端项目

    1、Node获取地址 https://nodejs.org/en/download 一直默认选项安装,安装好了之后,在环境变量中会自动配置Node的地址,可以在cmd中使用 node -v/npm -v命令验证是否下载成功 2、设置Node的配置内容 (1)在安装目录下新建两个文件夹命名为node_cache,和node_global: 其中 node_cache 是作为 缓

    2024年02月06日
    浏览(52)
  • 【自动化测试】几种常见的自动化测试框架

    在软件测试领域,自动化测试框架有很多,这里主要介绍几种常用的自动化测试框架。 pytest 是 Python 的一种单元测试框架,与 Python 自带的 unittest 测试框架类似,但是比 unittest 框架使用起来更简洁,效率更高。主要有以下几个特点: 简单灵活,容易上手。 支持参数化。 能

    2024年02月07日
    浏览(44)
  • 自动化测试(三):接口自动化pytest测试框架

    API:Application Programming Interface 接口自动化按照自动化的工具可分为 基于 接口测试工具 的接口自动化 eg1:Postman+Newman+git/Svn+Jenkins(基于Javascript语言)接口自动化 Postman :创建和发送 API 请求,并对响应进行断言和验证。 Newman : Postman 的命令行工具,它允许测试人员在没有界

    2024年02月10日
    浏览(62)
  • 从0到1精通自动化测试,pytest自动化测试框架,doctest测试框架(十四)

    doctest从字面意思上看,那就是文档测试。doctest是python里面自带的一个模块,它实际上是单元测试的一种。 官方解释:doctest 模块会搜索那些看起来像交互式会话的 Python 代码片段,然后尝试执行并验证结果 doctest测试用例可以放在两个地方 函数或者方法下的注释里面 模块的

    2024年02月11日
    浏览(88)
  • 自动化测试介绍、selenium用法(自动化测试框架+爬虫可用)

    1、什么是自动化测试? 程序测试程序、代码代替思维、脚本代替人工 核心:质量和效率 作用:降低成本、节省人力时间、推动CI和DevOps、准确性和可靠性、模拟人工难以实现的手段、快速持续迭代发布能力、衡量产品的质量、提升测试效率、提高测试覆盖率 2、手工测试

    2024年03月08日
    浏览(78)
  • python自动化测试- 自动化框架及工具

    手续的关于测试的方法论,都是建立在之前的文章里面提到的观点: 功能测试不建议做自动化 接口测试性价比最高 接口测试可以做自动化 后面所谈到的  测试自动化  也将围绕着  接口自动化  来介绍。 本系列选择的测试语言是 python 脚本语言。由于其官方文档已经对原理

    2024年02月22日
    浏览(64)
  • Pytest自动化测试框架---(单元测试框架)

    unittest是python自带的单元测试框架,它封装好了一些校验返回的结果方法和一些用例执行前的初始化操作,使得单元测试易于开展,因为它的易用性,很多同学也拿它来做功能测试和接口测试,只需简单开发一些功能(报告,初始化webdriver,或者http请求方法)便可实现。 但自

    2024年02月14日
    浏览(68)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包