草庐IT

纯前端

全部标签

如何做好前端单元测试?字节5年测试老司机是这样说的!

近几年,前端发展越来越迅猛,各类框架层出不穷,前端实现的业务逻辑也越来越复杂,前端单元测试也越来越受重视,包括百度在内的一些大厂在面试中也会问到单元测试相关的题目。那么前端应该如何做好单元测试?什么是单测单测的定义来自维基百科的定义:在计算机编程中,单元测试(UnitTesting)又称为模块测试,是针对程序模块(软件设计的最小单位)来进行正确性检验的测试工作。程序单元是应用的最小可测试部件。在过程化编程中,一个单元就是单个程序、函数、过程等;对于面向对象编程,最小单元就是方法,包括基类(超类)、抽象类、或者派生类(子类)中的方法。定义里面指出,单元测试针对的是程序的最小单元,因此我们应该针对

RuoYi-Vue-generator 代码生成模块 动态 多数据源切换 前端+后台

需求场景:若依框架的30张数据表和业务使用的数据表,同数据源,但分开的两个库,原生若依只支持主库的代码生成,故自己修改添加代码来实现若依多数据源的使用效果展示前端修改页面ruoyi-ui\src\views\tool\gen\importTable.vueel-form中新增el-form-item el-form-itemlabel="数据源">el-selectv-model="queryParams.dataSource"placeholder="选择数据源">el-optionv-for="itemindataSources":label="item.desc":value="item

前端解决客户端不安全随机数

前端项目在安全漏洞扫描的时候,爆出了客户端不安全随机数的问题,看了下代码是因为使用了Math.random()生成随机数造成的。百度了一下,math.random()并不是真的随机数,而是伪随机数!原因Math.random()函数是JavaScript内置的一个函数,它用于生成一个0到1(包括0,不包括1)之间的伪随机数。这个函数的实现依赖于浏览器或JavaScript引擎,不同的浏览器或引擎可能会使用不同的算法来实现这个函数。通常情况下,Math.random()函数会使用一种伪随机数生成器来生成随机数。这种生成器通常会使用一个初始值(称为种子)来生成一系列看起来随机的数字。为了使生成的数

【前端】vue采用el-table 添加行手动填写数据和删除行及提交

        需求:点击新增按钮实现下列弹窗的效果,点击添加行新增一行,点击删除进行删除行,点击提交将数据传递到后端进行保存。目录代码datamethods实现效果代码添加行{{scope.row.index}}显示在输入框的下面-->序号-->{{scope.row.riskPointName}}-->{{scope.row.riskLevel}}-->{{scope.row.hiddenDanger}}-->{{scope.row.type}}-->{{scope.row.accident}}-->{{scope.row.remark}}-->删除提交datadata(){return{

nginx部署前端项目 nginx部署无法加载js/css问题 Uncaught SyntaxError: Unexpected token ‘<‘

注意:将多个html项目放在一个server中出现js,css加载不出来问题可以将文件放在主项目同级目录下(暂时解决,可能是静态资源配置问题,不会弄)。1.下载nginx,解压2.将项目放入html目录下3.修改nginx.conf文件4.修改端口防止占用和添加新映射5.普通html项目,部署会出现以下错误UncaughtSyntaxError:Unexpectedtoken‘6.处理所有引用的部分前面加上,在conf中添加的映射路径。7.配置前端ajax接口http://ip/映射/接口常用命令//开启服务:startnginx直接点击Nginx目录下的nginx.exe//停止服务:ngi

Web前端自动化测试Cypress实践总结

本文主要首先主要介绍了什么是自动化测试,接着对常用的自动化测试框架进行了对比分析,最后,介绍了如果将自动化测试框架Cypress运用在项目中。一、自动化测试概述为了保障软件质量,并减少重复性的测试工作,自动化测试已经被广泛运用。在开始学习自动化测试之前,我们很有必要先搞清楚这几个问题,什么是自动化测试?为什么要做自动化测试?哪些项目适合做自动化测试?1、什么是自动化测试自动化测试是一种测试方法,是指使用特定的软件,去控制测试流程,并比较实际结果与预期结果之间的差异。通过将测试自动化,可以把人对软件的测试行为转化为由机器自动执行测试的行为,从而替代大量的手工测试操作,使得测试可以快速,反复的进行

效率前端微应用推进之微前端研发提效

一、背景业务背景得物效率前端所在的效率工程为提升企业协作效率而生,面临大量的PC侧的中后台应用场景。在之前的微信公众号《得物效率前端微应用推进过程与思考》中详细介绍了效率前端推进微应用落地的思路和部分效果。这篇文章将着重介绍得物效率前端微应用推进中,微前端的研发效率遇到的挑战和解决方案。名词解释微应用「微应用」是得物效率前端内部称谓,是一个基于“monorepo&微前端&基座与业务分离”的、包括“文档&工具”的一套体系化降低研发成本和提升用户体验的技术产品。微前端「微前端」是得物效率前端微应用推进的重要一环,尤其是父子应用技术栈不同时,利用 iframe/qiankun/wujie/micro

前端文件下载实现方案,Blob对象为你实现任意文件下载

文章目录前言一、Blob是什么?二、生成Blob对象三、请求处理1、请求封装2、根据后端接口配置四、工具函数五、项目中实际使用六、优化下载前言本文主要介绍了如何使用Blob对象在前端实现文件下载的功能。文中首先介绍了什么是Blob对象,它表示一个二进制大型对象,可以用来表示文件或二进制数据。然后详细讲解了几种生成Blob对象的方式,以及如何通过createObjectURL方法生成一个对象URL,设置到a标签的href属性实现文件下载。文末还提到了一些优化下载体验的方法,比如设置download属性、使用click方法触发下载等。掌握Blob的使用可以实现强大的前端文件下载、上传、二进制数据处

odoo16前端框架源码阅读——env.js

env.js(env的初始化以及服务的加载)路径:addons\web\static\src\env.js这个文件的作用就是初始化env,主要是加载所有的服务。如orm,title,dialog等。1、env.js的加载时机前文我们讲过前端的启动函数,start.js,其中有这么两句,这里有两个函数makeEnv和startServices,都在同级目录的env.js里constenv=makeEnv();awaitstartServices(env);2、makeEnv()exportfunctionmakeEnv(){return{bus:newEventBus(),services:{}

Jenkinsfile+Dockerfile前端vue自动化部署

前言本篇主要介绍如何自动化部署前端vue项目其中,有两种方案:第一种是利用nginx进行静态资源转发;第二种方案是利用nodejs进行启动访问;各个组件版本如下:Docker最新版本;Jenkins2.387.3nginx最新版本nodejs12.13.0nginx转发部署目录结构如下:nginx.confusernginx;worker_processes1;error_log/var/log/nginx/error.logwarn;pid/var/run/nginx.pid;events{worker_connections1024;}http{include/etc/nginx/mime