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

如何在Jest中检查异步抛出的错误类型?

在Jest中,可以使用expect.assertions()expect().rejects.toThrow()来检查异步抛出的错误类型。

首先,使用expect.assertions()来确保在测试用例中有一个断言被调用。这可以帮助我们验证异步代码是否按预期执行。

然后,使用expect().rejects.toThrow()来断言异步函数是否抛出了一个特定类型的错误。这个断言可以接受一个错误构造函数作为参数,用于检查抛出的错误是否与给定的类型匹配。

下面是一个示例代码:

代码语言:txt
复制
test('测试异步函数是否抛出特定类型的错误', async () => {
  expect.assertions(1);

  await expect(asyncFunction()).rejects.toThrow(CustomError);
});

在上面的示例中,asyncFunction()是一个异步函数,我们使用expect.assertions(1)确保至少有一个断言被调用。然后,使用expect().rejects.toThrow()来断言异步函数是否抛出了CustomError类型的错误。

如果异步函数抛出了一个不同类型的错误,或者没有抛出任何错误,测试将会失败。

关于Jest的更多信息和用法,请参考腾讯云的Jest产品介绍链接:Jest产品介绍

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

相关·内容

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

/ 可以在 Javascript 异步函数抛出错误吗?...你将学到什么 通过后面的内容你将学到: 如何从 Javascript 异步函数抛出错误 如何使用 Jest 测试来自异步函数异常 要求 要继续往下读你应该: 对 Javascript 和 ES6...有基本了解 安装 Node.Js 和 Jest 如何从 Javascript 常规函数抛出错误 使用异常而不是返回码(清洁代码)。...这是对它测试(使用Jest): ? 也可以从 ES6 抛出错误。在 Javascript 编写类时,我总会在构造函数输入意外值。下面是一个例子: ? 以下是该类测试: ?...以下是在Jest测试异常规则: 使用 assert.throws 来测试普通函数和方法异常 使用 expect + rejects 来测试异步函数和异步方法异常 如果你对如何使用 Jest

3K30
  • web前端好帮手 - Jest单元测试工具

    Jest基础使用 项目接入Jest 安装JestJest类型文件,类型文件可以让代码编辑器(Webstorm)提供Jest相关接口参数提示: npm install -D jest @types/..."shanelv" } }).toStrictEqual({ person: { name: "shanelv" } }); // 通过 expect.toThrow方法用于测试“错误抛出...test('必要参数uid漏传报错', () => { expect(fetchUserInfo()).toThrow(); }); 注意测试错误抛出时,要在测试逻辑外加一层函数包裹,Jest才能捕获到错误...否则像第二种“错误写法”,只会造成JS报错,中断测试运行。 异步处理和超时处理 前端代码异步逻辑太常见了,比如文件操作、请求、定时器等。...Jest支持callback和Promise两种场景异步测试。

    5K40

    Jest与React Testing Library:前端测试最佳实践

    在你package.json添加以下依赖:npm install --save-dev jest @testing-library/react @testing-library/jest-dom#...const button = screen.getByRole('button');fireEvent.click(button);清理和解构在每个测试之后,确保清理掉任何副作用,添加到DOM元素...afterEach钩子可以用于此目的:afterEach(() => { cleanup();});异步测试使用waitFor或async/await处理异步操作,确保组件在测试达到期望状态:it(...);await waitFor(() => expect(screen.getByText('Example Title')).toBeInTheDocument());错误和异常处理测试组件在错误发生时行为.../myFunction';jest.spyOn(myModule, 'myFunction');// 在测试调用函数myFunction();// 检查函数是否被调用expect(myFunction

    16800

    JavaScript 应用程序有效错误处理

    理解 JavaScript 错误在深入了解错误处理策略之前,了解 JavaScript 可能发生错误类型是非常重要错误可以大致分为三种类型:语法错误:语法错误发生在代码结构出现错误时。...JavaScript 错误类型有了基本了解,让我们探讨一些有效处理策略。..., error.stack);}通过检查错误对象,开发人员可以了解出错原因,并利用这些信息进行调试。...异步/等待错误处理:随着 JavaScript 异步编程广泛使用,处理异步操作错误至关重要。在使用 async/await 时,try-catch 机制适用于异步代码。...('不能除以零');});使用 Jest 或 Mocha 等工具测试错误场景有助于保持错误处理代码可靠性。

    15500

    2024 年必会 10 个 Node.js 新特性,你还不知道就太落伍了!

    你可能使用过其他测试框架 Mock 功能, Jest jest.spyOn 或 mockResolvedValueOnce。...在需要避免在测试运行实际代码( HTTP 请求或文件系统 API)时,它们非常有用,可以用存根和模拟来替代这些操作,并在稍后进行检查。...Mock 还允许模拟各种场景,依赖错误,这些错误在真实环境可能难以一致重现。 Node.js 原生测试覆盖率 什么是测试覆盖率?...尝试访问不允许资源时,读取 .env 文件,会出现 ERR_ACCESS_DENIED 错误: > start:protected > node --env-file=.env --experimental-permission...请看以下代码示例,通过 try/catch 包装资源访问,以及使用 Node.js 权限运行时 API 确保访问不抛出错误: const { dirname: __dirname, filename:

    51810

    2020 年你应该知道 React 库

    Next.js 用于服务器端渲染(动态 web 应用程序) ,Gatsby.js 用于静态站点生成(博客、登陆页面)。...建议: 浏览器本地 fetch API axios Apollo Client React 类型检查 幸运是 React 有自己类型检查能力。...使用 PropTypes,你可以为你 React 组件定义传入 props。无论何时向组件传递了错误类型,在运行应用程序时都会收到错误消息。但是这种形式类型检查只应该用于较小应用程序。...当使用这样类型检查器时,您可以在开发期间获得错误。您不必启动应用程序就可以找到本可以通过这种类型检查防止 bug。这样一来,类型检查器就可以提高您开发人员体验,避免首先引入 bug。...小型应用程式 样板: create-react-app 样式库: basic CSS and inline style 异步请求: fetch or axios 代码风格: 无 类型检查: 无 状态管理

    14.4K40

    React背后工具化体系

    Error Code机制实现生产环境错误追踪,DevTools侧面辅助bundle检查Jest驱动单测,还通过格式化bundle来确认构建结果足够干净;最后通过npm发布新package 整个过程并不十分复杂...2级引用,跨package经Yarn处理以顶层绝对路径引用) Flow + ES Lint Flow负责检查类型错误,尽早发现类型不匹配潜在问题,例如: export type ReactElement...支持更多信息,请查看Even Better Support for React in Flow 另外还有导出类型检查Flow“魔法”,用来校验mock模块导出类型是否与源模块一致: type Check...简言之,在prod bundle把详细报错信息替换成对应错误码,生产环境捕获到运行时错误就把错误码与上下文信息抛出来,再丢给错误码转换服务还原出完整错误信息。...build过程中去除),异步throw出来 P.S.关于DCE check详细信息,请查看Detecting Misconfigured Dead Code Elimination 四.测试工具 Jest

    1.5K20

    【架构师(第二十九篇)】Vue-Test-Utils 触发事件和异步请求

    ---- 知识点 将 mock 对象断言为特定类型 使用 jest.Mocked 使用 it.only 来指定测试 case 使用 skip 跳过指定测试 case 测试内容 触发事件...trigger 方法 测试界面是否更新 特别注意 DOM 更新是个异步过程 使用 async await 更新表单 setValue 方法 验证事件是否发送 emitted 方法 测试异步请求 模拟第三方库实现...,使用 only 单独运行一次 如果单独运行没问题,整体运行出错,应该检查 beforeEach ,beforeAll 等全局钩子逻辑是否有问题,判断是否需要清空共享状态。...-- 错误提示 -->

    error <!...('axios'); //将 mock 对象断言为特定类型 使用 jest.Mocked const mockAxios = axios as jest.Mocked;

    88210

    分享近百道JavaScript 基础面试题,帮助你巩固JavaScript 基础知识

    你如何处理 JavaScript 错误? JavaScript 错误可以使用 try-catch 块来捕获和处理异常。 14. JavaScript 同步和异步编程有什么区别?...JavaScript 异常可以使用 try-catch-finally 块处理,其中可能抛出异常代码放在 try 块内,catch 块处理任何抛出异常。...JavaScript == 和 === 有什么区别? == 运算符执行类型强制并检查是否相等,而 === 严格检查不带类型强制相等性。 58.什么是JavaScriptHoisting?...在 JavaScript 如何检查变量是否为空? 可以通过将变量与 null、undefined 或空字符串进行比较来检查变量是否为空。 65. JavaScript 中有哪些不同类型错误处理?...JavaScript 错误处理可以使用 try...catch 块、抛出自定义错误或使用 promises 和 catch() 方法来完成。 66.

    29210

    Jest测试语法系列之Matchers

    关于Jest测试基础内容,可以参考之前博客:前端单元测试之Jest 本文主要讲的是匹配器(Matchers),匹配器(Matchers)是Jest中非常重要一个概念,它可以提供很多种方式来让你去验证你所测试返回值...+ 2) 将返回我们期望结果,通常情况下我们只需要调用expect就可以,括号可以是一个具有返回值函数,也可以是表达式。...后面的 toBe 就是一个matcher,当Jest运行时候它会记录所有失败matcher详细信息并且输出给用户,让维护者清楚知道failed原因,如果我们改成 toBe(5),将会输出错误提示...float类型浮点数计算时候,需要使用toBeCloseTo而不是 toEqual ,因为避免细微四舍五入引起额外问题。...使用 toContain 检查是否包含。

    54420

    JavaScript 测试教程 part 1:用 Jest 进行单元测试

    测试类型 测试是用来检查你代码代码。测试会使你对自己程序更有信心。它们还能够防止你在修复一个 bug 时生成另一个 bug。...多亏了他,你可以用一种方法来确保你代码在整体上能够正常运行。 端到端测试(E2E) 与其他类型测试相反,端到端测试始终在浏览器(或类似浏览器)环境运行。...他们将模拟滚动,单击和键入之类行为,并从实际用户角度检查我们程序是否运行良好。 用 Jest 进行单元测试 Jest 是 Facebook 开发测试框架。...稍后我们将学习如何在 React 中使用 Jest 首先,让我们创建一些可以测试简单函数。...如果出现问题,除了使代码更具可读性之外,它还有助于提供更友好错误消息。

    2.8K20

    JavaScript 测试系列实战(三):使用 Mock 模拟模块并处理组件交互

    在之前两篇教程,我们学会了如何去测试最简单 React 组件。在实际开发,我们组件经常需要从外部 API 获取数据,并且组件交互逻辑也往往更复杂。...在这篇教程,我们将学习如何测试更复杂组件,包括用 Mock 去编写涉及外部 API 测试,以及通过 Enzyme 来轻松模拟组件交互 初次尝试 Jest Mock 我们应用程序通常需要从外部...从测试返回 promise 是确保 Jest 等待其异步方法执行结束一种方法。 小结 在本文中,我们介绍了 mock 模块,并将其用于伪造API调用。...由于没有发起实际 post 请求,我们测试可以更可靠,更快。除此之外,我们还在整个 React 组件模拟了事件。我们检查了它是否产生了预期结果,例如组件请求或状态变化。...我们可以通过阅读错误消息找出原因: 无效 Hooks 调用, Hooks 只能在函数式组件函数体内部调用。

    4.8K20

    Jest来给React完成一次妙不可言~单元测试

    一个特定查询有很多变体: •getBy:返回查询第一个匹配节点,如果没有匹配元素或找到多个匹配,则抛出一个错误。...•getAllBy:返回一个查询中所有匹配节点数组,如果没有匹配元素,则抛出一个错误。•queryBy:返回查询第一个匹配节点,如果没有匹配元素,则返回null。...换句话说,我们检查 { counter } 文本内容是否等于0。...测试异步操作 异步操作是需要时间才能完成操作。它可以是HTTP请求、计时器等等。 现在,让我们检查 TestAsync.js 文件。...对于第一个测试,我们检查内容是否等于About页面文本,对于第二个测试,我们测试路由参数并检查它是否正确通过。 现在我们可以进入最后一节,学习如何测试Axios请求。 8.

    14.9K33

    如何测试 React 异步组件?

    get*By* 函数获取dom 元素, 这里使用 getByPlaceholderText 以上测试用例只测试了登录函数,但是我们并未写登录成功或者失败逻辑,接下来来我们通过 jest mock...,我们在来写博客列表测试已经不难了,我们先来写下测试用例: 接口请求页面显示 loading 请求成功显示博客列表 列表为空显示暂无数据 请求失败显示服务端错误 博客列表代码 下面的代码, 使用了.../api/posts"); 我们可以在官方文档阅读关于 jest.mock 更多信息。 它所做就是告诉 Jest 替换/api/posts 模块。...然后,我们等待异步方法解析并等待 Posts 组件重新渲染。为此,我们使用 waitFor 方法,同时检查标题是否呈现,之后遍历检查,确保每一个标题在页面上。...: 通过 mock 使组件可以获取静态假数据; 测试加载状态; 测试异步方法是否被正确调用,并且带上了正确参数; 测试组件是否正确地渲染了数据 测试异步方法错误时,组件是是否渲染了正确状态 文中关于登录成功后页面跳转并未测试

    3.3K50
    领券