首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

自动测试 Jest使用总结基础篇

使用 jest 的原因 随着前端的发展,web的交互越来越复杂,自动测试是非常有必要融入到开发的流程中,而目前界内普遍通用且比较火的就是有 facebook开发的 Jest 这套工具。...他可以创建测试用例,执行测试,自身还有驱动和mock,且用起来也是很方便,正如 jest 的官网这样描述 jestJest is a delightful JavaScript Testing Framework...同时, jest 也支持做不匹配的校验,也就是反向的校验。下面就是一些不同的匹配器。 简单类型的校验; 使用 tobe() 匹配器做简单类型的校验,校验结果是否正确。...jest 做回调操作测试需要注意,函数的回掉情况。...catch 进行捕获,异常情况的测试一般是在一些兜底逻辑的情况下,获取异常情况再执行特定的逻辑。

2.6K111

使用Jest测试原生TypeScript项目

通过官网的Getting started 我们可以在最下方找到 ts-jest 不难理解,我们需要配的其实就是jest加载到什么样类型的文件,使用什么预处理来处理文件。...如果是js文件我通过babel-jest处理,css则使用jest-css-modules。假如没有这些配置,那import了你的库,库里有引入了高特性的js文件,或者css文件就会编译报错。...比如这个实例测试,我们可以测试是否初始是否正常,通过jquery来辅助判断 比如这个是点击【基本色】【更多颜色】我们会切换class,那就可以像这样 是不是突然就觉得非常简单了?...写完了测试,给我们的jest.config 多加一行配置,来生成我们的测试报告(Jest内置了 istanbul) javascript module.exports = { // ... collectCoverage...总结 至此,你应该对前端UI测试应该大致有一个宏观的了解。 本文没有过多得介绍Jest的用法或者语法,希望可以给不知道如何做测试的朋友们一点方向,自己去尝试找到适合自己项目的才是最好的。

2.8K60

使用jest进行单元测试

以前,写完一段代码我也是直接调用或者实例一下,发现过了就把测试相关部分删了。...今年的不幸与坎坷使我有很长一段时间去思考人生,不想将就了,鲁棒健壮的程序,开发和测试应该是分得很开的,于是我选择jest去做单元测试这件事。...不扯犊子直接说吧,第一点,用数据、用茫茫多的测试用例去告诉使用者,你的程序是多么鲁棒健壮;第二点,把它作为一种素养去培养吧,当你按照一系列规范去做事,那么你做出来的东西,我想是有品质在的。...jest的安装 在确保你的电脑装有node环境的情况下,我们通过mkdir jest-study && npm init -y来初始项目,然后我们通过cd jest-study进入到这个目录。...jest的相关配置 package.json中相关scripts 这里笔者罗列了常用的通用的一些关于jest的脚本,后面测试结果会陆续补充一些测试脚本,以上的脚本都编写在package.json文件下的

3.4K60

使用 Jest 进行前端单元测试

Jest 默认使用 Jasmine 语法,支持直接使用 Promise 和 async/await 进行异步测试,支持对 React 组件进行快照监控, 扩展和集成 Babel 等常用工具集也很方便。...我们在写一个测试用例前,如果能对非关键的依赖进行 mock,只约定好最后的返回,就不用再先解决一堆依赖和环境问题,把精力集中在要测试的单元上来编写 test case ,同时也缩短测试用例执行的时间,做到最小测试...例如使用 jest.useFakeTimers() 把遇到的计时器挂起,在必要时再使用 jest.runOnlyPendingTimers() 执行掉已经挂起的计时器。...异步支持 如果有使用过 node-tap 之类的老测试框架,在遇到异步情况时候肯定感受过麻烦了。现代的测试框架对异步的支持都是必需的。...最后总结一下,编写可测试的代码,其实可以遵循这几个点来规范: 功能最小,单一职责的函数 抽离业务逻辑中的公共部分 细分文件依赖 避免函数副作用(不修改实参) 其他还有很多可以优化的点不再阐述,感兴趣的推荐阅读一下

5.5K90

前端自动测试框架 Jest 极简教程

前端自动测试框架 Jest 极简教程 Delightful JavaScript Testing. https://jestjs.io Jest是由Facebook发布的开源的、基于Jasmine...最值得注意的是,运行测试时,Jest会自动模拟依赖。Jest自动为每个依赖的模块生成Mock,并默认提供这些Mock,这样就可以很容易地隔离模块的依赖。...Jest 测试的生命周期 jest 测试提供了一些测试的生命周期 API,可以辅助我们在每个 case 的开始和结束做一些处理。...这样,在进行一些和数据相关的测试时,可以在测试前准备一些数据,在测试后,清理测试数据。...rootDir: ' ' moduleFileExtensions 测试文件的类型 moduleFileExtensions: ['js','json','jsx','node'] 一般配置: module.exports

1.7K20

JavaScript 测试系列实战(一):使用 Jest 和 Enzyme 测试 React 组件

本篇教程是 JavaScript 测试系列实战 的第一篇教程,首先介绍了测试类型,然后主要通过一个 React 项目教会你如何使用 Jest 编写第一个测试,然后使用 Enzyme 对 React 组件进行浅层渲染...端到端测试(E2E) 与其他类型测试不同,E2E 测试总是在浏览器(或类浏览器)环境中运行。...在这一系列教程中,我们将会从零开始,一步步带你熟悉从单元测试到端到端测试的方方面面。我们将会在一个 React 项目中实践所学到的自动测试技术。...因此这里建议直接使用 npx jest 执行测试。 编写第一组测试 每个测试文件通常有多个测试用例。Jest 允许我们通过 describe 函数对测试用例进行分组,它创建了一个可以组合多个测试的块。...配置 jest-enzyme 你应该还记得,在刚才的测试代码中,我们还是使用Jest 自带的 Matcher(toEqual)。

2.9K10

前端自动测试实践03—jest异步处理&mock

前端自动测试实践03—jest异步处理&mock TOC Write By CS逍遥剑仙 我的主页: www.csxiaoyao.com GitHub: github.com/csxiaoyaojianxian...,前端自动测试,一般需要 mock 触发的 ajax 请求,例如测试 mock.js 中接口调用 export const getData = () => { return axios.get.../mock'); 4. mock - function 模拟函数调用 对于单元测试,无需关心外部传入的函数的实现,使用 jest.fn 生成一个 mock 函数,可以捕获函数的调用和返回结果,以及this.../mock' test('测试 callback', () => { // 【1】使用 jest 生成一个 mock 函数 func1,用来捕获函数调用 const func1 = jest.fn...,外部 class 的实现无需关心,使用 jest.fn 生成一个 mock 类,例如测试 mock.js export const createObject = (classItem) => {

5K85

前端自动测试实践01—持续集成之jest自动测试环境搭建

前端自动测试实践01—持续集成之jest自动测试环境搭建 toc Write By CS逍遥剑仙 我的主页: www.csxiaoyao.com GitHub: github.com/csxiaoyaojianxian...2. jest 环境搭建 2.1 jest 安装 jest 需要自动运行测试脚本,node 环境是必不可少的,如果从头搭建,首先得初始项目 package.json 并安装 jest: $ npm init...$ npm install jest -D jest 默认不支持 es6,需要使用 babel 来支持 es6,安装 babel: $ npm install @babel/core @babel/preset-env...(multi(3, 3)).toBe(9); }) 执行测试,并在控制台观察结果 $ npm run test $ npm run coverage 3. vue-cli 中使用 jest 现实项目中,...则可以忽略指定文件,因此使用两个属性可以精确匹配到项目中所有的测试用例。

2.3K54

自动测试类型

因此,测试自动的出现旨在解决这个问题。测试团队需要引入了许多类型的自动测试,并且强大的测试工具通过简化编写和录制重放测试用例,使测试人员可以更加轻松,从而释放了宝贵的资源并提高了测试效率。...本文将介绍大部分测试人员应该知道的最受欢迎的测试自动类型。 自动测试类型 什么可以自动?实际上很多,但是通常容易误解这个问题。...测试类型 除了自动测试类型;烟雾测试,集成测试,回归测试,安全性测试,性能测试,验收测试等在测试自动领域中也很常见。...自动测试框架 一旦确定了项目中使用的自动测试类型,便选择了自动测试框架来帮助测试人员组织和标准流程。标准的好处在很多方面都很明显。...结论 自动测试的不同类型和各种测试自动框架的简要概述,希望能对各位了解测试自动有更好的帮助。

48520

使用Jest测试包含setTimeout调用的函数踩坑记录

前两天给一个包含setTimeout调用的函数写单元测试,在使用fake timer的时候遇到了问题,记录一下。...在启用fake timer的时候,setTimeout、setInterval都会使用Jest提供的假实现,他们不会真正阻塞住测试用例。...(2); }); 我们做了以下改动: 使用jest.runAllTicks代替await delay(0)。...根据Jest的官方文档,调用这个函数后,所有队列中的“微任务”都会被立刻执行,这里的目的就是保证catch回调能被立刻调用; 使用jest.advanceTimersByTime(6000)代替await...注意我们此时使用的是fake timer,因此是无法使用await delay(0)这个方案的,因此这会导致我们的测试用例在等待setTimeout被回调,而fake timer的setTimeout又在等待

6.6K60

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

现在,我们可以使用单元测试来提高自己的代码质量。下面,我将自己在使用Jest和Sinon.js配置和编写单元测试中的收获的经验和踩到的坑进行总结,根据从零开始配置和编写单元测试这一条线来进行分享。...Jest配置 安装依赖包 需要使用Jest,首先你需要进行安装,执行以下命令: npm install jest -D 如果你的项目中存在.babelrc文件(使用了babel 6)时,不论你测试的代码是否通过...编写单元测试 在本章中,我们会针对如何编写单元测试文件进行一个具体的讲解,其中包含: 同步函数测试 异步函数测试 HTTP测试 同时,我们会对当中使用到的Jest和Sinon.js的API会进行简单介绍...在本章中,我们总结了如下问题来进行介绍,希望大家再遇到相同问题时能够快速解决: 如何统计Jest单元测试覆盖率 如何设置单元测试文件不使用本地的babel配置 如何设置单元测试文件使用本地的babel配置...不像ava一样,需要使用syc来进行计算,Jest内置了统计单元测试覆盖率的工具,只需要简单配置即可达到相关的要求。

3.7K00

APP测试类型—App自动测试与框架实战(2)

来源:http://www.51testing.com 第2章 App测试类型   2.1 功能测试 功能测试,通常的定义就是测试功能的可执行性和有效性。   ...关于这部分测试使用自动测试手段才能化繁为简,并且取得比手工测试更准确、更客观的测试结果。自动测试手段能够编写同一时钟下的相关操作,以确保测试的及时性和准确性。...而确保动作序列的流程、最大限度地提高容错性和实现相关的等待时延判断,是这种自动测试程序的关键所在。...2.1.3 通信录的备份恢复功能   测试人员需要充分考虑新手机开机时的备份恢复功能,刷机前后的相关备份恢复功能,增量备份恢复、全量备份恢复、备份恢复时的异常情况测试。...在测试中,最常见的就是对手机屏幕进行旋转,可能会发生很多类型的错误。 2.3.5 各种无线网络的兼容性   针对各种无线网络的兼容性,App测试可以选择性进行覆盖,因此智能终端测试就必须完成。

64820
领券