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

使用Jest测试类型化异常

Jest 是一个流行的 JavaScript 测试框架,可用于测试各种类型的异常,包括类型化异常。

类型化异常是指在编程过程中,由于传递给函数或方法的参数类型错误而引发的异常。这种异常通常是由于传递给函数的参数类型与函数所期望的类型不匹配导致的。类型化异常的出现可能会导致程序崩溃、数据错误或不一致等问题。

为了测试类型化异常,可以使用 Jest 提供的异常匹配器(matcher)。异常匹配器可以用来验证函数在接收到错误类型的参数时是否会抛出异常。

以下是一个示例,展示了如何使用 Jest 来测试类型化异常:

代码语言:txt
复制
function divide(a, b) {
  if (typeof a !== 'number' || typeof b !== 'number') {
    throw new TypeError('Both arguments must be numbers');
  }
  return a / b;
}

describe('divide', () => {
  test('throws TypeError when arguments are not numbers', () => {
    expect(() => divide('2', '2')).toThrow(TypeError);
    expect(() => divide(2, '2')).toThrow(TypeError);
    expect(() => divide('2', 2)).toThrow(TypeError);
  });
});

在上述示例中,我们定义了一个名为 divide 的函数,该函数用于将两个数字相除。在函数内部,我们使用 typeof 检查参数的类型,如果不是数字类型,则抛出一个 TypeError

在测试中,我们使用 expecttoThrow 来断言函数在接收到错误类型的参数时是否会抛出异常。我们分别传递了不同类型的参数进行测试,包括两个字符串、一个字符串和一个数字。如果函数按预期工作,它们都应该抛出 TypeError 异常。

当然,除了测试类型化异常外,Jest 还可以用于测试其他类型的异常,例如自定义异常、网络异常等。

腾讯云提供了多个与测试相关的产品和服务,例如云服务器 CVM、容器服务 TKE、无服务器云函数 SCF 等,它们可用于部署和运行 Jest 测试。您可以访问腾讯云官方网站(https://cloud.tencent.com/)以获取更多关于这些产品的详细信息和文档。

注意:本答案根据题目要求不包含亚马逊AWS、Azure、阿里云、华为云、天翼云、GoDaddy、Namecheap、Google等流行的云计算品牌商信息。如有需要,请自行查询相关品牌商提供的产品和服务。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

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

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

    2.7K111

    使用jest进行单元测试

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

    3.6K60

    使用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.9K60

    使用 Jest 进行前端单元测试

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

    5.6K90

    前端自动测试框架 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.8K20

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

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

    3K10

    前端自动测试实践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) => {

    5.2K85

    前端自动测试实践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.4K54

    使用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.8K60

    自动测试类型

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

    53520

    提高代码质量——使用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.8K00

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

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

    69420

    Jtti:自动测试具体包括哪些类型

    自动测试是软件测试过程中的关键组成部分,它包括多种类型测试,以确保软件的各个层面和功能都得到充分的验证。...以下是一些主要的自动测试类型:单元测试(Unit Testing):针对软件中最小的可测试部分(通常是函数或方法)进行验证。目的是检查单个组件的正确性。...性能测试(Performance Testing):评估软件在不同负载下的性能,包括响应时间、吞吐量等。包括负载测试、压力测试和稳定性测试。...可用性测试(Usability Testing):评估软件的用户界面和用户体验。目的是确保软件易于使用且满足用户需求。...自动测试可以通过各种测试框架和工具来实现,如JUnit、TestNG、Selenium、Appium等。自动测试的实施可以提高测试的效率和准确性,减少重复性工作,并使测试过程更加可靠。

    9510
    领券