基于已有的vue项目,搭建mocha+karma+phantomjs测试

8 篇文章 0 订阅

  最开始想基于现有的vue项目,插入自动化测试功能,主要是防止后台改了接口参数却没有告知前端的问题。预想的是jest功能,安装了vue-jest等包工具后,跑起test,发现一堆报错,去官网查了下,发现下面这句话:

vue-jest 目前并不支持 vue-loader 所有的功能,比如自定义块和样式加载。额外的,诸如代码分隔等 webpack 特有的功能也是不支持的。如果要使用这些不支持的特性,你需要用 Mocha 取代 Jest 来运行你的测试,同时用 webpack 来编译你的组件。

  jest是功能最全的测试运行器。它所需的配置是最少的,默认安装了JSDOM,可是它的缺点特别多,比如在现有的项目插入jest,会出现很多你无法预料的错误。于是,我改换为mocha。

  最开始是基于下列的官方文档,给已有的项目配置mocha

  https://vue-test-utils.vuejs.org/zh/guides/#%E7%94%A8-mocha-%E5%92%8C-webpack-%E6%B5%8B%E8%AF%95%E5%8D%95%E6%96%87%E4%BB%B6%E7%BB%84%E4%BB%B6

  配置完成后,在命令行运行npm run test,报了很多错误,其中有一条与jsdom相关。官方文档jsdom的引入是这样的

require('jsdom-global')()

  但jsdom至15版本之后,便要求配置时输入url,配置好option:url之后,仍然有其他未知错误。

  几经周折,打算先mocha+karma,vue-test-utils暂时不引入,终于可以npm run test运行成功,下面是我的配置图:

  

  运行出来的效果如下图所示:

具体的项目地址见:https://github.com/zwf193071/mocha-karma-vue

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值