vue自动化测试

本文详细介绍了如何在不使用vue-cli的情况下,手动为Vue项目添加Karma自动化测试。从新建项目到配置karma、安装依赖、编写测试代码、查看测试覆盖率,以及解决遇到的坑,如'webpack'加载错误和全局karma安装问题,提供了完整的步骤和解决方案。通过这篇教程,读者可以了解Karma、Mocha和Chai在Vue项目中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

网上很多都是用vue-cli新建项目,生成的结构内容很复杂,反正我是看着头很晕的,不知道你们是不是,所以试着自己在vue项目添加测试。现在前端的各种工具更新太快了,网上好多教程都有坑,所以想自己记录下来。

vue官网给的例子用的是karma + mocha + chai。

  1. karma:Karma是一个基于Node.js的JavaScript测试执行过程管理工具(Test Runner)。
  2. mocha:mocha是一个基于nodejs和浏览器集合的各种特性的JavaScript测试库。
  3. chai:chai是一个基于nodejs的断言库,并且完美支持各种主流的JavaScript测试框架。。

新建项目

vue安装环境不说了,网上一抓一大把,不会的同学移步到Vue2.0 新手完全填坑攻略——从环境搭建到发布

我们选择简易版生成vue项目

vue init webpack-simple npm-karma

目录结构

这里写图片描述

hello.vue

    <template>
        <div>
            <h1>{
   {
   title}}</h1>
        </div>
    </template>
    <script>
    export default {
        data () {
            return {
                title: 'hello world'
            }
        }
    }
    </script> 

安装karma

全局安装karma-cli

npm install karma-cli -g

进入项目目录下执行

karma init

这里选择vue推荐的mocha,根据上下键来进行选择,然后回车就好。

选择mocha

这里选择no

这里写图片描述

这里选择phantomJS,注意PhantomJS需要提前安装在电脑上,当然选择Chrome更方便

这里写图片描述

填写测试脚本存放位置,支持通用匹配。我们可以后面手动填写。选择空,回车

这里写图片描述

是否有需要排除的符合前面格式的问文件,选择空,回车

这里写图片描述

选择自动监测测试。选择yes

这里写图片描述

接下来项目根路径会有一个karma.config.js文件。

这里写图片描述

安装依赖

这时候我们的项目中的依赖如下:

这里写图片描述

我们已经选择了mocha作为测试库,还需要安装mocha和karma-mocha

浏览器选择了phantomjs,这里我们还需要安装 karma-phantomjs-launcher

使用webpack打包,还需要安装karma-webpack,extract-text-webpack-plugin

使用chai作为断言库,需要安装chai、sinon-chai、sinon、karma-sinon-chai

npm install karma-webpack karma-mocha chai sinon-chai sinon karma-sinon-chai karma-phantomjs-launcher extract-text-webpack-plugin mocha –save-dev

修改配置

karma配置中需要引入webpack配置,我们新建一个专门配置的文件夹存放所需的配置,

如下图,在项目根目录下新建了一个config文件夹

这里写图片描述

webpack.test.config.js

var path = require("path")
var webpack = require("webpack")
var ExtractTextPlugin = require('extract-text-webpack-plugin')

function resolve(dir) {
   

    return path.join(__dirname, '..', dir)
}

var webpackConfig = {

    module: {

        rules: [

            // babel-loader
            {
                test: /\.js$/,
                use: 'babel-loader',
                include: [resolve('src'), resolve('test')]
            },

            // vue loader
            {
                test: /\.vue$/,
             
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值