首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

前端开发者们,这些知识tips你必须知道

13、关于调试修改antd design组件样式技巧 我们使用到antd design组件,需要改变默认样式,如果我们想改变某个组件样式,则首先需要找到某个组件标签名,一般控制台通过鼠标选择查找到...没有移动端设计稿,不失为一种防止移动端上布局样式崩溃方法。 如果没有设置宽度,元素默认宽度是100%。这意味着元素会填充其父元素整个宽度。...因此某些情况下,服务端需要对接口进行访问控制,需要用户先在页面进行登录认证(例如使用用户名和密码登录、验证码二次验证)。...前端发送请求,需要将 Authorization 字段设置为对应 token ,以便后端可以从请求头中解析出 token 并进行认证。...常见环境变量包括: PATH:指定可执行文件所在路径,当用户输入一个命令,系统会在PATH中指定路径查找可执行文件。 HOME:指定当前用户主目录路径。

35410

Jest 进行 JavaScript 测试

技术术语测试意味着检查我们代码是否符合某些预期。例如:给定一些输入,一个名为“transformer”函数应返回预期输出。 有许多类型测试,很快你就会被术语所淹没,让我们长话短书。...测试分为三大: 单元测试 集成测试 UI测试 在这个 Jest 教程,我们将仅涵盖单元测试,但在文章最后,你将找到更多用于其他类型测试资源。 什么是Jest?...但是当谈到严肃事情,大部分时间你都没有那么多特权。通常我们必须遵循规范,即建立书面或口头描述。 本教程,我们从项目经理那里得到了一个相当简单规范。..., "link"); Jest 测试,你应该将函数调用包含在 expect ,它与匹配器(用于检查输出Jest函数)一起进行实际测试。...,似乎不会被测试

2.7K30
您找到你想要的搜索结果了吗?
是的
没有找到

前端开发者必须知道日常小技巧!

13、关于调试修改antd design组件样式技巧 我们使用到antd design组件,需要改变默认样式,如果我们想改变某个组件样式,则首先需要找到某个组件标签名,一般控制台通过鼠标选择查找到...没有移动端设计稿,不失为一种防止移动端上布局样式崩溃方法。 如果没有设置宽度,元素默认宽度是100%。这意味着元素会填充其父元素整个宽度。...因此某些情况下,服务端需要对接口进行访问控制,需要用户先在页面进行登录认证(例如使用用户名和密码登录、验证码二次验证)。...前端发送请求,需要将 Authorization 字段设置为对应 token ,以便后端可以从请求头中解析出 token 并进行认证。...常见环境变量包括: PATH:指定可执行文件所在路径,当用户输入一个命令,系统会在PATH中指定路径查找可执行文件。 HOME:指定当前用户主目录路径。

18310

异步函数异常处理及测试方法

/ 可以 Javascript 异步函数抛出错误吗?...这是对它测试(使用Jest): ? 也可以从 ES6 抛出错误。 Javascript 编写,我总会在构造函数输入意外。下面是一个例子: ? 以下是该类测试: ?...测试确实通过了: ? 安排明明白白! 所以无论异常是从常规函数还是从构造函数(或从方法)抛出,一切都会按照预期工作。 但是如果我想从异步函数抛出错误怎么办?...换句话说,我不能使用 assert.throws 来测试它。 让我们通过测试验证一下: ? 测试失败了! ? 有没有悟出点什么? 看把你能,来抓我啊 从严格意义上讲异步函数和异步方法不会抛出错误。...以下是Jest测试异常规则: 使用 assert.throws 来测试普通函数和方法异常 使用 expect + rejects 来测试异步函数和异步方法异常 如果你对如何使用 Jest

2.9K30

前端自动化测试

: 保证当前组件质量,即当前业务正常使用 新需求下,旧组件如果能满足新需求50%以上功能,应当升级旧组件满足新需求,同时兼容旧业务 除该组件Owner之外第二人,修改组件过程,避免因为对代码不熟悉...test,后缀名为xxx.test.js文件,在运行测试时会自动执行,snapshots为自动生成页面快照。...(test) beforeEach: 定义一个回调函数每个测试之前执行 expect: 执行一个断言 jest.fn(): 创造一个mock函数 一些用于断言方法: toEqual: 验证两个是否相同...toBe: 验证两个是否 === 完全相等 toHaveLength:验证长度 toBeDefined: 验证一个是否被定义 toContain: 验证一个list是否包含某一项 toBeCalled...测试默认,即检查输入是否为默认 测试清除按钮是否可用,通过模拟点击清除按钮,测试是否能按照预期清除输入框内填充默认 测试设置,点击输入框,弹出选择框,选择,检查输入是否为选择

1.9K20

Salesforce LWC学习(二十五) Jest Test

lwcjs部分时,通常都是前端进行测试,针对js测试其实也有类似于apex class test class类似的js test class,也就是今天说 Jest Test,Jest Test...//jestjs.io/docs/en/expect#expectvalue ,expect用于任何时候你想测试一个,参数通常传就是我们要校验方法,通常后面和其他函数一起搭配使用,demo搭配是...我们lwc只有工具可能有这么简单代码,其他都是 extends LightningElement 或者类似相关js写法。...因为jest test运行是不需要基于浏览器,我们测试这种和页面交互js,下面会进行一些创建元素节点操作,所以当测试完相关以后,我们需要重置之前DOM信息,以便不影响其他test测试。...总结: Jest Test不止应用在 lwc,其他正常 javascript也可以,lwc顶多封装了一些自己用方式去扩展了操作,大部分断言验证操作还是使用标准Jest,所以小伙伴如果项目中如果需要使用

1.1K30

天天用 antd Form 组件?自己手写一个吧

外层 Form 定义 initialValues 初始,onFinish 当提交回调,onFinishFailed 当提交有错误时回调。 Form 组件每天都在用,那它是怎么实现呢?...这样 Store 里就存储了所有表单项 submit 就可以取出来传入 onFinish 回调。...我们来看下源码: antd Form 有个叫 FormStore : 它 store 属性保存表单,然后暴露 getFieldValue、setFieldValue 等方法来读写 store...有点区别,antd FormStore 是可以独立出来,通过 useForm 创建好传入 Form 组件。 而我们 Store 没有分离出来,直接内置 Form 组件里了。...其实原理不复杂,就是把 Form 表单项存储到 Store Form 组件里把 Store 放到 Context, Item 组件里取出来。

14010

antd4与antd3Form表单设计区别

核心 antd3思想:使用HOC(高阶组件)包裹form表单,HOC组件state存储所有的value,定义设置和获取值方法 缺点:动一发牵全身,一个value改变,因为这是顶级状态,所以所有的子组件都会因父组件重新...render而render,浪费了性能 antd4思想:使用Context 包裹form表单,自定义一个store,存储所有的表单value,定义设置和获取值得方法,因为不是组件内部状态,需要自己定义更新函数...,每个Form.Item定义forceUpdate()强制更新函数,当我们setValue值得时候,根据name判断出要更新Form.Item,可以调用该Item更新函数更新,相比ant3节约了性能...(个人觉得这个思想类似Vue了,涉嫌抄袭) ant4简单原理展示 基本用法,拷贝整理下可测试 //FormPage页面 函数组件和组件略有差异,组件会用到神奇React.forwardRef...这个api配合fowardRef,把子类东西传递给父 React.useImperativeHandle(ref, () => ({ ...formInstanc, message: '我啊啊啊奥奥

1.9K20

前端单元测试那些事

大规模代码重构,能保证重构正确性 保证代码质量,验证功能完整性 2.主流前端测试框架了解 2.1 框架对比(主流前三) Karma - 基于Node.jsJavaScript测试执行过程管理工具...(Test Runner),让你代码自动多个浏览器(chrome,firefox,ie等)环境下运行 Mocha - Mocha是一个测试框架,vue-cli配合chai断言库实现单元测试( Mocha...,程序某个特定点该表达式为真,判断代码实际执行结果与预期结果是否一致,而断言库则是讲常用方法封装起来 主流断言库有 assert (TDD) assert("mike" == user.name...,如果没有定义函数内部实现,jest.fn()会返回undefined作为返回,当然你也可以给他设置返回、定义内部实现或返回Promise对象,如下例: // 断言mockFn执行后返回为name...对象执行了回调函数 注:有时候会存在一种情况,同个组件调用同个方法,只是返回不同,我们可能要对它进行多次不同mock,这时候需要在beforeEach使用restoreAllMocks方法重置状态

4.3K40

Jest基本使用方法以及mock技巧介绍

句法来验证不同内容; 测试异步代码:支持承诺(promise)数据类型和异步等待async / await功能; 模拟函数:可以修改或监查某个函数行为; 手动模拟:测试代码可以忽略模块依存关系;...如上面的例子可以: npm test sum.test.js 或者jest sum.test.js 也可以jest配置文件里配置上testRegex  testRegex默认:(/__tests__...2.2.2  jest.mock()直接在单元测试里面mock 模块 例如我们很多产品代码里面会使用fs文件读取文件, 单元测试, 我们并不需要真去调用fs读取文件, 就可以考虑把fs模块mock掉...2.3.1  jest.mock自动mock所在模块, 方法也自动被mock。 ? 2.3.2  _mock__路径建立mock文件: ?...,针对不同情况 (例如返回或者替换实现),可以考虑使用mockReturnValue和mockImplementation;针对和模块mock,推荐使用自动mock方法也就是jest.mock

8.3K50

Jest单元测试之旅—实践总结

前言:之前对于单元测试仅仅处于了解状态,并且实际开发没有用到。...它能带来好处我总结有: 单测可以确保程序得到预期结果,验证功能完备性 促使开发者写可测试代码和整洁代码结构,易测试代码间接说明代码质量好坏 提前发现Bug和边界处理,降低风险 重构能保证重构正确性...下面会根据各种场景进行分析 二、异步函数 我们实际开发我们会遇到很多异步函数,但是因为Jest进行测试,默认情况下一旦到达运行上下文底部当前测试立即结束,这样意味着测试将不能按照我们预期进行,...如果我们测试用例中直接访问window.bridage.callPhone,会提示Cannot read properties of undefined,因为jsdom没有对应api实现,所以我们需要在测试前构造一个模拟方法...原因是如果依赖被测试功能实现逻辑意味着修改实现逻辑但是输入输出没有变化也需要去更新测试代码。

10.2K20

Jest + React Testing Library 单测总结

整个流程和写法也不是特别难,所以就理所当然地觉得,写测试也不是特别难。 加上之前实际工作,也没有太多测试经历,所以当自己需要对组件库补充单元测试时候,发现并不能照葫芦画瓢来写单测。... VS Code ,我们也可以安装插件:Jest Runner。 代码,就可以快速跑测试用例,可以说非常方便了。...2.2 Jest 匹配器 Jest 匹配器是 expect 断言,用来检查是否满足一定条件。...2.3 Jest Mock 查看官方文档时候,Jest 匹配器还有一匹配器专门用来检查 Jest Mock 函数。...get 和 query 区别主要是未找到元素,queryBy 会返回 null,这对于我们测试一个元素是否存在非常有帮助。

4.5K20

那些年错过React组件单元测试(上)

开源社区有超高人气,同时也获得了React官方推荐。 ? Jest 本篇文章我们着重来介绍一下Jest,也是我们整个React单元测试根基。 环境搭建 安装 安装Jest、Enzyme。...我们发现有以下几种模式: f: 只会测试之前没有通过测试用例 o: 只会测试关联并且改变文件(需要使用 git)(jest --watch 可以直接进入该模式) p: 测试文件名包含输入名称测试用例...t: 测试用例名称包含输入名称测试用例 a: 运行全部测试用例 测试过程,你可以切换适合模式。...单元测试,我们可能并不需要关心内部调用方法执行过程和结果,只想知道它是否被正确调用即可,甚至会指定该函数返回。这个时候,mock意义就很大了。...我们测试也主要是用到了mock函数提供以下三种特性: 捕获函数调用情况 设置函数返回 改变函数内部实现 下面,我将分别介绍这三种方法以及他们实际测试应用。

4.9K20

Form 表单在数栈应用(上): 校验篇

二、什么是 Form 相信大家日常开发已经对 Form 表单使用已非常精通了,但非常值得一提是,可能大家对“Form定义是什么?什么时候我们会选择用 form ?”这个问题却往往回答不好。...定义: 具有 数据收集、校验 和 提交 功能表单,包含复选框、单选框、输入框、下拉选择框等元素; 用法: 当我们用于创建一个实体或收集信息、或需要对输入数据类型进行校验,可用Form表单。...校验表单所有字段 这是在数栈用比较高频,一般提交表单数据,先对当前所有表单域进行校验,只有全部通过校验才能进行下一步操作。(调接口、联动等操作) 2....增加 options 校验以及 options 在数栈适用场景 操作时候对域正确性进行校验,可根据需求增加校验规则。...5. table 与 form 碰撞 (组件联动校验) 业务场景:数栈其实存在各种与 form 联动案例,笔者取 数据资产 (data-assets-front) 项目为例, table 动态插入单条数据并实现可自定义校验内容

2.1K20

前端测试体系建设与最佳实践总结

单元测试:是指对软件最小可测试单元进行检查和验证,通常指的是独立测试单个函数。 UI 测试:是对图形交互界面的测试。 集成测试:就是测试应用不同模块如何集成,如何一起工作,这和它名字一致。...端到端测试(e2e):是站在用户角度测试,把我们程序看成是一个黑盒子,我不懂你内部是怎么实现,我只负责打开浏览器,把测试内容页面上输入一遍,看是不是我想要得到结果。...Karma 能在真实浏览器测试,强大适配器,可配置其他单测框架,一般会配合 Mocha 或 Jasmine 等一起使用。 每个框架都有自己优缺点,没有最好框架,只有最适合框架。...写某些模块单测或是 UI 测试,大家可能会发现一些难以测试点,比如 Localstorage, 或一些延时函数触发。...原有逻辑增加新功能,通过运行之前测试,能够大大提高迭代质量和稳定性。 这篇文章主要总结了笔者 React 项目中书写测试经验与沉淀,而对于 Vue 项目,暂时还没有深入研究。

5.3K30

Vue 应用单元测试策略与实践 02 - 单元测试基础

本文目标 TDD 做完 Tasking 列完实例化数据之后,完全没有 UT 基础不知道该怎么写单元测试? // Given 一个完全没有UT基础新人? // When 当他?...同一个文件夹创建一个 math.test.js 文件,在这里我们将使用 Jest测试 math.js 定义函数: const { sum } = require('....称之为 Matcher,是断言判断语句以验证正确性 ✅,在后面的文章我们还会接触更多 Matchers,甚至可以扩展一些特别定制 Matchers。...不需要什么输入输出,只要能在测试时候验证到 Stub 被调用过就行,也就能够断言到某处代码被执行,从而确定代码被测试所覆盖。...唯一需要注意是, 额外expect.assertions(number) 其实是验证测试期间所调用断言数量,这在测试多层异步代码很有用,以确保实际调用回调断言次数。 意犹未尽吗?

2.2K20

Form 表单在数栈应用(上): 校验篇

二、什么是 Form 相信大家日常开发已经对 Form 表单使用已非常精通了,但非常值得一提是,可能大家对“Form定义是什么?什么时候我们会选择用 form ?”这个问题却往往回答不好。...定义: 具有 数据收集、校验 和 提交 功能表单,包含复选框、单选框、输入框、下拉选择框等元素; 用法: 当我们用于创建一个实体或收集信息、或需要对输入数据类型进行校验,可用Form表单。...校验表单所有字段 这是在数栈用比较高频,一般提交表单数据,先对当前所有表单域进行校验,只有全部通过校验才能进行下一步操作。(调接口、联动等操作) 2....增加 options 校验以及 options 在数栈适用场景 操作时候对域正确性进行校验,可根据需求增加校验规则。...5. table 与 form 碰撞 (组件联动校验) 业务场景:数栈其实存在各种与 form 联动案例,笔者取 数据资产 (data-assets-front) 项目为例, table 动态插入单条数据并实现可自定义校验内容

1.3K20

详细剖析|袋鼠云数栈前端框架Antd 3.x 升级 4.x 踩坑之路

造成这样误解是因为 3.x 版本,一直存在一个很神奇问题,受控组件会跟随 initialValue 改变。...● validator antd3 ,我们使用 callback 返回报错。但是 antd4 对此做了修改,自定义校验,接收 Promise 作为返回。...3)onSelect 清空了,又会被 onChange 赋值回来。 ・模块复用 新版 rc-select ,antd 官方抽取了一个 generator 方法。...要解决也不是没有办法,可以特定节点去测算表格列高度,但是这个行为会导致重排,影响性能问题。...拖拽等回调中就可以通过 nodeData.props.data 方式获取到 data 。但在 antd4 ,获取参数数据结构发生了改变,原先直接通过 props 点出来不行了。

4K30
领券