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

十分钟上手 xlsx,4 种方法实现 Excel 导入导出

本篇文章主要内容为 前端处理导入导出 后端处理导入导出 一些简单组件封装 代码都放在 Github learn-xlsx 上,除此之外,我还用 Jest 写了 单元测试,用 Cypress 和 supertest...其实用 RcFile 或者 File 作为入参也是可以,只不过我发现在用 Jest单元测试时,fs.readFileSync 返回值只能是 ArrayBuffer,所以这里做了妥协。...这个回调,如果不调用它,Upload 组件就会一直显示 loading 状态,非常烦人 accept 里填入 Excel 文件 MIME Type,用户只能选择 Excel 文件来 “上传”,用户友好...,后端本来就是干脏活累活地方,并不委屈 导入 Excel 数据逻辑也很简单:用 multer 负责文件上传,拿到文件 File 和上面的导入如法炮制即可。...除此之外,我还用 Jest 写了 单元测试,用 Cypress 和 supertest 做 e2e 测试,感兴趣可以 clone 下来直接白嫖哦~

2.6K30

对 React 组件进行单元测试

,用一个虚拟对象来创建以便测试测试方法 广义讲,以上 spy 和 stub 等,以及一些对模块模拟,对 ajax 返回值模拟、对 timer 模拟,都叫做 mock 。...React 单元测试中用到工具 Jest 不同于"传统"(其实也没出现几年) jasmine / Mocha / Chai 等前端测试框架 -- Jest使用更简单,并且提供了更高集成度、更丰富功能...= {}; 另外值得一提是,由于jest.config.js是一个会在npm脚本中被调用普通 JS 文件,而非XXX.json或.XXXrc形式,所以 nodejs 各自操作都可以进行,比如引入...React 单元测试常见案例 用例预处理或后处理 可以用beforeEach和afterEach做一些统一预置和善后工作,在每个用例之前和之后都会自动调用: describe('test components...sinon 中有一些模拟 XMLHttpRequest 请求方法, jest 也有一些第三方库解决 fetch 测试; 在我们项目中,根据实际用法,自己实现一个类来模拟请求响应: //FakeFetch.jsimport

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

JavaScript测试教程-part 2:引入 Enzyme 并测试 React 组件

JavaScript测试教程–part 4:模拟 API 调用和模拟 React 组件交互 在本教程第一篇中,我们简要介绍了单元测试基础。这次要更进一步,使用 Enzyme 库测试 React。...运行 npm run test ,你会看到一条成功消息。...这里要注意一个非常重要点:即使我们用了 Enzyme,但测试运行程序仍然是 Jest。由于我们用是 expect 函数,因此可以使用各种可供调用匹配器函数。我已经在课程第一部分中提到了它们。...相关列表,请访问 Jest 文档【https://jestjs.io/docs/zh/expect】。 让我们创建一些更有趣测试。先创建一个全新组件。...要检查函数列表,请转到 Enzyme 文档【https://github.com/airbnb/enzyme/blob/master/docs/api/shallow.md】。

1.4K50

提高代码质量——使用Jest和Sinon给已有的代码添加单元测试

Jest与Sinon.js是什么 Jest是FaceBook推出一个针对JavaScript进行单元测试库,它提供了断言、函数模拟等API来对你自己编写业务逻辑代码进行测试。...编写单元测试 在本章中,我们会针对如何编写单元测试文件进行一个具体讲解,其中包含: 同步函数测试 异步函数测试 HTTP测试 同时,我们会对当中使用到Jest和Sinon.jsAPI会进行简单介绍...,如果需要使用其他API,可以自行阅读Jest和Sinon.js文档。...('hjava'); // 判断了callback函数第一次被调用第一个参数为'hjava' }); 从上面的示例中我们可以看到,针对同步纯函数,我们可以通过很简单单元测试模型来验证它功能。...这两种方式都很简单,下面我们对两种方式进行具体介绍。详细内容可以见Jest文档测试异步代码。

3.7K00

Jest:给你 React 项目加上单元测试

Jest 是一款轻量 JavaScript 测试框架,它卖点是简单好用,由 facebook 出品。本文就简单讲讲如何使用 Jest 对 React 组件进行测试。 为什么需要单元测试?...beforeEach,在当前文件每个 test 执行前都调用一次。 afterAll,在当前文件所有测试结束执行一次,适合做一些收尾工作,比如将数据库清空。...afterEach,在当前文件每个 test 执行完调用一次。...yarn create react-app jest-app --template typescript 执行单元测试命令为: yarn test CreateReactApp 内置了 Jest,.../xigua-ui/blob/main/src/components/button/tests/button.test.tsx 执行 yarn test : 结尾 为了让代码更健壮,做模块单元测试还是有必要

2.8K20

JavaScript 测试教程–part 3:测试 props,挂载函数和快照测试

JavaScript测试教程-part 1:用 Jest 进行单元测试 2. JavaScript测试教程–part 2:引入 Enzyme 并测试 React 组件 3....有关可用函数完整列表,请访问文档【https://github.com/airbnb/enzyme/blob/master/docs/api/shallow.md】。...在早期版本Enzyme中,在浅层渲染期间未调用生命周期方法。...正是由于这个事实,使用 mount 函数能够测试这些组件是否可以协同工作,而不仅仅是单独单元测试。 要弄清楚单元测试和集成测试区别,请参见本教程第一部分。...官方 Jest 文档【https://jestjs.io/docs/zh/snapshot-testing】中有一个很好动画演示了这个过程。 快照测试可以成为跟踪组件更改非常强大工具。

1.7K20

从 0 开始手把手带你搭建一套规范 Vue3.x 工程化项目

安装核心依赖 我们使用 Vue 官方提供 vue-test-utils 和社区流行测试工具 jest 来进行 Vue 组件单元测试。...(ts)$", }; 创建单元测试文件 在上面的 jest.config.js 文件中,我们配置只匹配 __tests__ 目录下任意 .ts 文件或其他目录下 xx.test.ts/xx.spec.ts...image 执行单元测试 在根目录下 package.json 文件 scripts 中,添加一条单元测试命令:"test": "jest"。 ?...你可以在 jest.config.js 配置文件中,自由配置单元测试文件目录。 单元测试全部通过时终端显示信息 ? 单元测试未全部通过时终端显示信息 ?...image 其中,我们用: master 分支存储项目源代码 gh-pages 分支存储打包静态文件 gh-pages 分支,是 GitHub Pages 服务固定分支,可以通过 HTTP 方式访问到这个分支静态文件资源

5.5K62

Vue.js开发10大最佳实践

这对于处理数据获取和API调用非常有用。...单元测试 编写单元测试是确保应用程序稳定性重要一环。使用工具如Jest和Vue Test Utils可以帮助您编写和运行测试用例。...响应式设计 在Vue.js应用中采用响应式设计原则可以确保您应用在不同设备和屏幕尺寸上具有良好用户体验。 10. 文档和注释 良好文档和注释可以帮助团队成员更好地理解和维护代码。...总结 本文深入研究了Vue.js开发中10大最佳实践,包括组件化开发、状态管理、路由管理、异步操作、性能优化、单元测试、安全性、代码规范、响应式设计以及文档和注释。...参考资料 Vue.js官方文档 Vuex官方文档 Vue Router官方文档 Jest官方文档 Vue Test Utils文档 ESLint官方文档 Prettier官方文档

13910

前端接入单元测试(Node+React)

官方文档环境安装安装依赖npm i --save-dev jest@27.4.3 npm i --save-dev babel-jest@27.4.2npm i --save-dev @testing-library...目的在于,测试经过单元测试各个模块组合在一起是否能正常工作。会对组合之后代码整体暴露在外接口进行测试,查看组合代码工作是否符合预期。...有些人也把UI自动化测试称为E2E测试 可以看出,单元测试是整个测试组合基石,QTA自动化测试 http://qta.woa.com/marketnode/autotest/task/105307/...history 优点: 可以作为任务定时去执行,可以和蓝盾配合使用 缺点:需要添加项目和任务,执行时间长,node没有对应mocha库,需要额外安装jest库TestOne DWT 前端自动化测试 http...extend, helper等模块编写单元测试,特别是controller重要路由需要做单元测试;控制台和其他React项目可以利用jest工具,针对方法、组件、模块去做单元测试,特别是组件,可以利用快照功能避免多次修改测试用例

3.2K30

分享7个专业级JavaScript测试库,提高你工作效率

在Node.js环境中,你可以通过npm(Node包管理器)来安装: npm install --save-dev jasmine 安装完Jasmine,你可以在你项目中创建一些测试文件。...你可以访问其GitHub页面获取更多信息和详细文档。 5、Stryker 变异测试会对你代码进行更改,然后针对更改代码运行你单元测试。预期你单元测试现在会失败。...如果你单元测试没有捕获到某个变异,那么你可能需要增加或改进你测试。 以上就是对Stryker库基本介绍和示例。你可以访问其GitHub页面获取更多信息和详细文档。...以上就是对TestDouble库基本介绍和示例,你可以访问其GitHub页面获取更多信息和详细文档。 7、Mockttp HTTP测试是最常见且支持最好用例。...这个库让你能够在JavaScript中快速、可靠、在任何地方拦截、转换或测试HTTP请求和响应

22220

前端单元测试Jest

概述 关于前端单元测试好处自不必说,基础介绍和知识可以参考之前博客链接:React Native单元测试。在软件测试领域,测试主要分为:单元测试、集成测试和功能测试。...这里列举4个主要生命周期勾子: afterAll(fn, timeout): 当前文件中所有测试执行完成执行 fn, 如果 fn 是 promise,jest 会等待timeout 毫秒,默认 5000...,用一个虚拟对象来创建以便继续进行测试测试方法。...Mock函数通常会提供以下三种特性: 捕获函数调用情况; 设置函数返回值; 改变函数内部实现; jest.fn() jest.fn()是创建Mock函数最简单方式,如果没有定义函数内部实现,jest.fn...附: 实例源码 参考: React Native单元测试 Jest测试官方文档

2.7K20

Jest中Mock网络请求

Jest中Mock网络请求 最近需要将一个比较老库修改为TS并进行单元测试,修改为TS还能会一点,单元测试纯粹是现学现卖了,初学Jest框架,觉得在单元测试中比较麻烦就是测试网络请求,所以记录一下Mock...在这里我们封装了一层axios,比较接近真实场景,可以查看test/demo/wrap-request.ts文件,实际上只是简单在内部创建了一个axios实例,并且转发了一下响应数据而已,test/...在这里就使用到了jest-axios-mock-server库,首先我们需要指定三个文件,分别对应每个单元测试文件启动前执行,Jest测试启动前执行,与Jest测试完成执行三个生命周期进行操作,分别是...,但是在afterAll关闭时候就出了问题,因为node服务器在关闭时调用close方法并不会真实地关闭服务器以及端口占用,他只是停止处理请求了,端口还是被占用,当启动第二个单元测试文件时会抛出端口正在被占用异常...beforeAll中指定了要测试数据,要注意这里是return setSuitesData(data),因为要在数据设置成功响应以后在进行单元测试,之后就是正常请求与响应以及断言测试是否正确了。

3.3K30

Jest中Mock网络请求

最近需要将一个比较老库修改为TS并进行单元测试,修改为TS还能会一点,单元测试纯粹是现学现卖了,初学Jest框架,觉得在单元测试中比较麻烦就是测试网络请求,所以记录一下Mock掉Axios发起网络请求一些方式...在这里我们封装了一层axios,比较接近真实场景,可以查看test/demo/wrap-request.ts文件,实际上只是简单在内部创建了一个axios实例,并且转发了一下响应数据而已,test/...在这里就使用到了jest-axios-mock-server库,首先我们需要指定三个文件,分别对应每个单元测试文件启动前执行,Jest测试启动前执行,与Jest测试完成执行三个生命周期进行操作,分别是...,但是在afterAll关闭时候就出了问题,因为node服务器在关闭时调用close方法并不会真实地关闭服务器以及端口占用,他只是停止处理请求了,端口还是被占用,当启动第二个单元测试文件时会抛出端口正在被占用异常...beforeAll中指定了要测试数据,要注意这里是return setSuitesData(data),因为要在数据设置成功响应以后在进行单元测试,之后就是正常请求与响应以及断言测试是否正确了。

2.6K30

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

然后我翻阅了大量文档,发现基于dva单元测试文档比较少,因此在有了一番实践之后,我梳理了几篇文章,希望对于想使用 Jest 进行 React + Dva + Antd 单元测试你能有所帮助。...在单元测试中,我们可能并不需要关心内部调用方法执行过程和结果,只想知道它是否被正确调用即可,甚至会指定该函数返回值。这个时候,mock意义就很大了。...jest.fn() jest.fn()是创建mock函数最简单方式,如果没有定义函数内部实现,jest.fn()会返回undefined作为返回值。...jest.spyOn() jest.spyOn()方法同样创建一个mock函数,但是该mock函数不仅能够捕获函数调用情况,还可以正常执行被spy函数。...,Jest 将会渲染组件并创建其快照文件。

4.9K20

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

第一个 Jest 实例 首先创建 jest-demo 项目并安装 jest 作为项目 devDependencies 依赖: mkdir jest-demo && cd $_ yarn init -y...在同一个文件夹中创建一个 math.test.js 文件,在这里我们将使用 Jest 来测试 math.js 中定义函数: const { sum } = require('....,“你可以继续我型我秀上课讲小话,但是老师会偷偷告诉你妈妈,看你放学老妈不打断你腿”。...更加 Jest 相关内容可以查看这篇文章 Testing JavaScript with Jest,与此同时具体 API 可以参考官方文档。...未完待续…… ## 单元测试基础 ### 单元测试与自动化意义 ### 为什么选择 Jest ### Jest 基本用法 ### 该如何测试异步代码?

2.2K20

写代码无BUG,网易云前端单元测试方案总结

assert 不是专门给单元测试使用, 提供错误信息文档性不好,上面的 demo 最终执行下来会产生下面的报告: $ node index.js assert.js:84 throw new AssertionError...(3); BDD 思想就是写单元测试就像写产品需求,而不关心内部逻辑,每一个用例阅读起来就像一篇文档。...jest Jest 是 facebook 出一个完整单元测试技术方案,集 测试框架, 断言库, 启动器, 快照,沙箱,mock工具于一身,也是 React 官方使用测试工具。...这种渲染能够进行操作比较少,这里也不作具体介绍,可以参考 官方文档[9] 。.../enzyme-matchers/blob/master/packages/jest-enzyme/README.md [9] 官方文档: https://enzymejs.github.io/enzyme

9.5K20

vue中关于测试介绍

Vue中单元测试中有( Jest +Karma+ Mocha(Chai) ) Karma: Karma是一 个基于Node.jsJavaScript测试执行过程管理工具( Test Runner)...Mocha常用命令和用法不算太多,而Chai断言库可以看Chai.js断言库API中文文档,很简单,多查多用就能很快掌 握。...断言库 所谓“断言” ,就是判断源码实际执行结果与预期结果是否-致,如果不一致就抛出一个错误。下面这句断言意思是,调用add(1, 1) ,结果应该等于2....with at of same Jest (一般使用这个,请仔细阅读) 官方提供单元测试模块@vue/test-utils,它使用Jest风格expect断言,具体示例如下: // 挂载这个组件...一个组件一般就对应一个测试文件,文件以为spec.js结尾 目录结构如下: 3. jest使用api,可参考官方文件https://vue-test-utils.vuejs.org/api/

95410

JavaScript 测试系列实战(二):深层渲染和快照测试

想要查看可用函数完整列表,可以浏览 Enzyme 文档 https://github.com/airbnb/enzyme/blob/master/docs/api/shallow.md。...通常我们会在集成测试中使用 mount 函数,测试组件之间如何协同工作,而不仅仅是作为独立单元。 如果你不了解单元测试和集成测试这两个术语,可以看下本系列第一篇教程。...快照测试 快照测试是 Jest 一大招牌功能。所谓快照,可以简单地理解成是我们应用一个**“代码截图”**。当我们运行快照测试时,Jest 将会渲染组件并创建其快照文件。...这个快照文件包含渲染组件整个结构,并且应该与测试文件本身一起提交到代码库。...首先运行 npm test ,然后输入 i 以交互方式更新失败快照。官方 Jest 文档提供了一个动画来展示这个过程: ?

2.1K20
领券