vue_test_unit_e2e常见问题npm run unit单元测试和npm run e2e集成测试问题

article/2025/11/11 2:37:50

vue项目要进行unit和e2e常见问题

localStorage is not available for opaque origins
console.error node_modules\vue\dist\vue.runtime.common.dev.js

通常根据vue init webpack myproject 生成的项目,选择了unit和e2e模块后,都会有些问题。

1.首先是unit,当我们运行npm run unit时,会出现以下问题:

SecurityError: localStorage is not available for opaque origins

因为说是jest运行是node环境,所以没有localStorage。
解决办法:
在项目内test/unit/jest.conf.js文件中
加入以下3句:即可

testEnvironment: 'jsdom',verbose: true,testURL: 'http://localhost'

2.然后,如果你也使用了elementui模块, 也会报错以下:

 console.error node_modules\vue\dist\vue.runtime.common.dev.js:621[Vue warn]: Unknown custom element: <el-table> - did you register the component correctly? For recursive components, make sure to provide the "name" option.

因为说是elementui的组件没有注册。
解决办法:
修改项目里面test/unit/setup.js文件,内容为以下:

import Vue from 'vue'
// 将Vue暴露到全局里面
global.Vue = Vue;
console.log('--global:',global.hasOwnProperty('Vue'))
Vue.config.productionTip = false// 使用elementui组件
import ElementUI from 'element-ui';
// npm run unit 时要下面引入样式那句注释掉-不知为什么导入会报错。可能因为测试时,不需要css样式
// import 'element-ui/lib/theme-chalk/index.css';
Vue.use(ElementUI);

项目demo源码在这:https://github.com/banana618859/vue_test_unit_e2e

拷贝下来后,npm i 然后npm run unit 或 npm run e2e即可
在这里插入图片描述

提醒

因为$mount处理不了用户交互,所以我们要用到vue官方推荐的@vue/test-utils安装一下,就可以在项目中使用了。

npm i @vue/test-utils -D

使用:在项目里 test/unit/spec/HelloWorld.spec.js文件中,

import HelloWorld from '@/components/HelloWorld.vue'
import { mount } from '@vue/test-utils'
describe('测试用helloworld组件',() => {it('测试点击后,msg的改变',() => {//点击一下let wrapper = mount(HelloWorld)   // 用@vue/test-utils的mount加载组件wrapper.vm.newData = 1;wrapper.find('.btn').trigger('click')  //触发按钮点击事件expect( wrapper.vm.msg ).toBe('test_if')})
})

欢迎各位大神评论,如有不足,请留评!


http://chatgpt.dhexx.cn/article/DHTEbhgB.shtml

相关文章

谈谈端到端测试(End-to-End Testing)

谈谈端到端测试&#xff08;End-to-End Testing&#xff09; 当今的软件系统是复杂的&#xff0c;并且与许多子系统相互关联。如果任何子系统出现故障&#xff0c;整个软件系统都可能崩溃。这是一个主要的风险&#xff0c;可以通过端到端测试来避免。 端到端测试是一种技术&a…

“汽车人”眼中的网络安全---关于AUTOSAR E2E及测试开发实践

1.前言 上篇文章“聊聊网络安全的5W1H”对网络安全知识体系和技术脉络做了深入浅出的介绍&#xff0c;提到AUTOSAR所定义的网络和通信安全相关的技术&#xff0c;本期我们将介绍其中的E2E策略&#xff08;严格来说属于Safety的范围&#xff09;&#xff0c;并分享在项目中的测…

【E2E】E2E通信保护协议学习1

文章目录 前言一、E2E简介和功能介绍1.E2E简介2.一些名词简写及其对应含义 二、一些功能规格1.通讯保护概述2.配置文档概述 总结 前言 在软件测试工作中&#xff0c;E2E是功能的一部分。 非E2E专业工程师&#xff0c;如果有哪里写的不对&#xff0c;请大家多多指正。 一、E2E简…

使用Nightwatch进行E2E测试

本文在线预览 E2E测试 不同于行为驱动测试&#xff08;BDD&#xff09;和单元测试独立运行并使用模拟/存根&#xff0c;端到端测试将试着尽可能从用户的视角&#xff0c;对真实系统的访问行为进行仿真。对Web应用来说&#xff0c;这意味着需要打开浏览器、加载页面、运行Java…

cypress进行e2e测试之理论

cypress 进行 e2e 测试之理论 cypress 是目前 e2e 很火的一个测试组件&#xff0c;内部绑定了 macha、chai、chai-jquery 之类的断言,为了让代码代码 更有说服力&#xff0c;减少提交测试错误&#xff0c;进行 e2e 测试显然是非常有必要的。 官网 GitHub 借鉴官网一句话来说…

自动化测试(二)01-前端测试分为单元测试、集成测试和E2E测试 测试工具对比-适合TDD或 BDD、断言、异步测试 测试工具的类型

自动化测试&#xff08;二&#xff09;01-前端测试分为单元测试、集成测试和E2E测试 & 测试工具对比-适合TDD或 BDD、断言、异步测试 & 测试工具的类型 前端自动化测试 测试是一个庞大的主题&#xff0c;包括各种分类的测试&#xff0c;诸如黑盒测试/白盒测试、单元测…

web前端测试——e2e测试

开发环境&#xff1a;安装有node的macbook&#xff08;windows没测&#xff09; 第一步&#xff1a; 创建自己需要测试的项目&#xff0c;如在桌面创建一个test目录作为我们的项目根目录。 打开sublim text &#xff0c;并将项目拖到sublim text中&#xff0c;方便管理。 第…

E2E 端到端测试学习 - E2E 介绍、Cypress 案例基本使用

E2E 测试介绍 E2E E2E&#xff08;end to end&#xff09;端到端测试是最直观可以理解的测试类型。在前端应用程序中&#xff0c;端到端测试可以从用户的视角通过真实浏览器自动检查应用程序是否正常工作。 E2E 把整个系统当作一个黑盒&#xff0c;测试人员模拟真实用户在浏…

Unity射线与UI碰撞检测

问题产生背景&#xff1a;我们有的时候&#xff0c;需要实现射线与3D UI之间的碰撞&#xff0c;当射线碰撞到3D UI之后&#xff08;将Canvas设置为World Space&#xff09;&#xff0c;调整到合适的位置。使用LineRender表示射线的直观显示&#xff0c;使用一把枪结合第一人称控…

unity中射线碰撞检测总结

这阵子通过看视频&#xff0c;看书对unity中射线碰撞检测&#xff0c;有了一些了解&#xff0c;这里我把它总结一下写下来&#xff0c;希望能帮助到你们&#xff0c;也希望通过各位大神来指正不足之处&#xff1b; 射线碰撞检测&#xff0c;就是由某一物体发射出一道射线&#…

Unity 射线与碰撞范围检测【踩坑记录】

射线检测 射线检测在2D和3D的区别比较大 一定要加上对应的Collider组件 对应的函数只检测对应的Collider&#xff0c;Physics.Raycast是不会检测到Collider 2D的&#xff08;这个让我有一次debug了好久才发现&#xff09; 对应API如下 Physics.Raycast(Vector3 origin,Vec…

Unity 碰撞位置

获取碰撞位置的方法1&#xff1a;使用 Collider.ClosestPoint Returns a point on the collider that is closest to a given location. 返回碰撞器上最接近给定位置的点。 下方是子弹打到物体上&#xff0c;生成撞击火星的代码&#xff1a; // 碰撞体的检测 private void O…

Unity入门7——物理系统之碰撞检测

一、刚体 Rigid Body ​ 刚体利用体积&#xff08;碰撞器 Collider&#xff09;进行碰撞计算&#xff0c;模拟真实的碰撞效果&#xff0c;产生力的作用 ​ 碰撞产生的必要条件&#xff1a; 两个物体都有碰撞器 Collider至少一个物体有刚体 Mass&#xff1a;质量 默认为千克&a…

解决Unity物体速度过快无法进行碰撞检测(碰撞检测穿透)

一、解决碰撞检测穿透方法一 首先我们知道只要是跟碰撞相关的基本都是离不开刚体 Rigidbody这个组件&#xff0c;刚体中有一个参数适用于检测碰撞的 如下图 Collision Detection就是碰撞检测。 然而有时候开发游戏&#xff0c;对于高速运动的物体&#xff08;比如&#xff…

【Unity】Unity中获得碰撞体碰撞的位置

有时间的直接看sprite slicer这个插件的代码&#xff0c;原理也是发射线检测&#xff0c;代码逻辑什么的比下面的文章来的好的多&#xff0c;如果有空我也可以整理一下。 在纯物理环境中&#xff0c;为了获得碰撞体碰撞的位置&#xff0c;我们可以使用Collider2D.OnCollisionE…

Unity 3D中的射线与碰撞检测

在我们的游戏开发过程中&#xff0c;有一个很重要的工作就是进行碰撞检测。例如在射击游戏中子弹是否击中敌人&#xff0c;在RPG游戏中是否捡到装备等等。在进行碰撞检测时&#xff0c;我们最常用的工具就是射线&#xff0c;Unity 3D的物理引擎也为我们提供了射线类以及相关的函…

unity3D之简单的碰撞检测 .

版权声明&#xff1a;欢迎订阅公众号【5厘米的理想】&#xff0c;愿生命里的每一个小理想&#xff0c;都能成为生命里的小确幸。本文地址为&#xff1a; http://blog.csdn.net/qinyuanpei/article/details/23093665 大家好&#xff0c;欢迎大家关注由我为大家带来的Unity3D游戏…

Unity碰撞检测的必要条件

Unity中有两个独立的物理引擎&#xff0c;一个用于3D物理系统&#xff0c;一个用于2D物理系统。两个引擎是使用不同的组件实现的。因此BoxCollider和Rigidbody一起使用&#xff0c;代码中用OnTriggerEnter才能检测到触发;BoxCollider2D和Rigidbody2D一起使用&#xff0c;代码中…

Unity3D入门(二):碰撞检测

碰撞器由来 1.系统默认会给每个对象(GameObject)添加一个碰撞组件(ColliderComponent)&#xff0c;一些背景对象则可以取消该组件。 2.在unity3d中&#xff0c;能检测碰撞发生的方式有两种&#xff0c;一种是利用碰撞器&#xff0c;另一种则是利用触发器。这两种方式的应用非…

Unity碰撞检测机制的原理(更新中...)

总是碰到关于碰撞的问题&#xff0c;今天实在忍不住了&#xff0c;来把它搞懂&#xff0c;不然听到八叉树&#xff0c;BSP什么的就怕可不行。 转自&#xff1a;http://www.manew.com/thread-102595-1-1.html 碰撞机制 最近做动态地形生成的时候&#xff0c;发现碰撞检测无效&…