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

在Deno的assertThrowsAsync()中,可以找到用于测试特定异常的标准异常类型

在Deno的assertThrowsAsync()中,可以找到用于测试特定异常的标准异常类型。assertThrowsAsync()是Deno的测试工具之一,用于测试异步函数是否会抛出特定的异常。

在Deno中,可以使用标准异常类型来测试特定异常。标准异常类型是指Deno内置的异常类,用于表示常见的异常情况。以下是一些常用的标准异常类型:

  1. Deno.errors.PermissionDenied:表示权限被拒绝的异常。
    • 分类:权限异常
    • 优势:可以捕获并处理权限相关的异常情况。
    • 应用场景:当需要测试某个异步函数在权限被拒绝时是否会抛出异常时,可以使用该异常类型进行测试。
    • 腾讯云相关产品:无
  • Deno.errors.NotFound:表示找不到资源的异常。
    • 分类:资源异常
    • 优势:可以捕获并处理资源找不到的异常情况。
    • 应用场景:当需要测试某个异步函数在找不到指定资源时是否会抛出异常时,可以使用该异常类型进行测试。
    • 腾讯云相关产品:无
  • Deno.errors.ConnectionRefused:表示连接被拒绝的异常。
    • 分类:网络异常
    • 优势:可以捕获并处理连接被拒绝的异常情况。
    • 应用场景:当需要测试某个异步函数在连接被拒绝时是否会抛出异常时,可以使用该异常类型进行测试。
    • 腾讯云相关产品:无
  • Deno.errors.Timeout:表示操作超时的异常。
    • 分类:超时异常
    • 优势:可以捕获并处理操作超时的异常情况。
    • 应用场景:当需要测试某个异步函数在操作超时时是否会抛出异常时,可以使用该异常类型进行测试。
    • 腾讯云相关产品:无

这些标准异常类型可以作为参数传递给assertThrowsAsync()函数,用于测试异步函数是否会抛出特定的异常。例如,以下是使用assertThrowsAsync()测试特定异常的示例代码:

代码语言:txt
复制
import { assertThrowsAsync, DenoError } from "https://deno.land/std/testing/asserts.ts";

async function fetchData() {
  throw new Deno.errors.PermissionDenied("Permission denied");
}

Deno.test("fetchData should throw PermissionDenied", async () => {
  await assertThrowsAsync(
    async () => {
      await fetchData();
    },
    Deno.errors.PermissionDenied,
    "Permission denied"
  );
});

在上述示例中,我们定义了一个异步函数fetchData(),它会抛出一个PermissionDenied异常。然后,我们使用assertThrowsAsync()来测试fetchData()是否会抛出PermissionDenied异常。

注意:以上示例中的import语句使用了Deno的标准库模块,需要在Deno环境中运行。

腾讯云相关产品暂无与Deno的assertThrowsAsync()直接相关的产品。

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

相关·内容

Deno 1.0,来了解一下

在学习Web标准上花费时间永远不会浪费,因为没有人胆敢推翻Web。可以预见未来几十年,甚至到你职业生涯终点,Web仍将继续存在和发展。 fetch是用于获取资源Web API。...这意味着如果你不使用Deno()命名空间中任何方法,你代码应该同时可以Deno和浏览器运行。虽然Deno这些API并不是100%符合Web标准,但这对前端开发者依然是重大利好。 6....库类型 兼容性 浏览器运行使用ESM语法 应该可以开箱即用试试Pika CDN(https://www.pika.dev/cdn) 浏览器运行使用CommonJS语法 使用jspm.io(https...8.1 测试 测试运行器以Deno.test()函数形式内置于Deno核心,而断言库(https://deno.land/std/testing/)也包含在标准。...你喜欢assertEquals()、assertStrictEq()一个也不少,此外还包含一些不太常见断言,如assertThrowsAsync()。 本文写作时,没有测试覆盖功能。

1K20

Deno 1.0,来了解一下

在学习Web标准上花费时间永远不会浪费,因为没有人胆敢推翻Web。可以预见未来几十年,甚至到你职业生涯终点,Web仍将继续存在和发展。 fetch是用于获取资源Web API。...这意味着如果你不使用Deno()命名空间中任何方法,你代码应该同时可以Deno和浏览器运行。虽然Deno这些API并不是100%符合Web标准,但这对前端开发者依然是重大利好。 6....库类型 兼容性 浏览器运行使用ESM语法 应该可以开箱即用试试Pika CDN(https://www.pika.dev/cdn) 浏览器运行使用CommonJS语法 使用jspm.io(https...8.1 测试 测试运行器以Deno.test()函数形式内置于Deno核心,而断言库(https://deno.land/std/testing/)也包含在标准。...你喜欢assertEquals()、assertStrictEq()一个也不少,此外还包含一些不太常见断言,如assertThrowsAsync()。 本文写作时,没有测试覆盖功能。

1.1K40
  • 听GPT 讲Deno源代码(4)

    它负责检查底层数据流前缀是否符合特定字节数组,用于验证流是否具有特定预期类型。例如,它可以用来验证HTTP请求是否以"GET"或"POST"等方法开头。...这些测试旨在评估不同条件下压缩算法性能和效率。 通过这些基准测试,开发者可以比较不同压缩算法性能和效果,从而选择最合适算法用于Deno项目的HTTP压缩模块。...根据文件名称"errors.rs",它很有可能定义了一些与错误处理相关数据结构、函数和方法。这个文件可能包含了一系列异常类或错误类型定义,用于Deno运行时环境处理各种异常情况。...此外,该文件可能还提供了一些处理错误和异常工具函数,用于捕获、记录和处理运行时错误。这些工具函数可能包括错误打印、错误堆栈追踪、错误信息标准化、错误处理流程分发等。...这些算法可以根据具体需求选择,以提供特定安全性和性能。 deno/ext/node/ops/crypto/cipher.rs 文件,还包含了各种对加密和解密操作具体实现。

    9110

    听GPT 讲Deno源代码(2)

    该文件主要通过使用Rust标准库对编码解码性能进行评估和比较,以便优化Deno项目中编码相关功能。具体来说,它包含了一系列性能测试用例,用于测试不同编码算法和库性能表现。...该文件定义了名为timers_ops模块,其中包含了定时器相关性能测试用例。这些测试用例主要用于评估Deno处理定时器操作时性能表现。...WebGpuTextureView结构体表示WebGPU纹理视图对象,它用于访问纹理对象特定部分或者以不同形式(如不同格式或维度)呈现纹理对象。...deno/ext/webgpu/error.rs文件还定义了一个枚举类型WebGpuError,用于表示各种与WebGPU相关错误。...通过使用这些错误类型Deno项目可以更好地管理和处理与WebGPU相关异常情况,并向用户提供相关错误信息和操作结果。

    10310

    听 GPT 讲 Deno 源代码 (13)

    /lib.rs文件,我们可以找到名为SymbolExports几个struct,它们各自具有不同作用,如下: SymbolExports: 此struct是DenoNAPI模块主要导出物,为导出...UTF-8是一种可变长度字符编码标准,常用于计算机系统中表示Unicode字符集。 该文件基准测试用例主要关注UTF-8编码处理性能。...这些函数通过使用标准测试框架(通常是Rust criterion 库)来定义和运行基准测试。...字符串索引操作:根据UTF-8编码字符串索引位置来获取或修改特定字符。 基准测试可以通过反复运行测试集并测量每个操作执行时间来评估函数性能。...summary函数:用于打印基准测试结果摘要信息,包括最小、最大和平均运行时间等统计数据。 stderr_line函数:用于控制台输出一行标准错误信息,通常用于报告测试错误或警告。

    8310

    听GPT 讲Deno源代码(1)

    主要目的是提供一个接口,使得开发者可以Deno中使用密码学功能。 该文件,有几个关键结构体和枚举类型: KeyData 结构体:用于表示密钥数据。...KeyType 枚举:用于表示密钥类型。例如,可以是对称密钥、非对称密钥公钥或私钥等。 这两个枚举类型提供了对密钥格式和类型进行标识方式。...IpAddr结构体:表示IP地址类型可以是IPv4或者IPv6。 TcpListenerResource结构体:表示TCP监听器资源,用于特定端口上监听传入TCP连接请求。...通过这些函数,Deno应用程序可以更好地处理网络地址解析过程可能发生异常情况,如无效地址格式、无法解析主机名等。...该文件通过使用Rust标准相关功能,实现了将字符串类型网络地址解析为机器可读结构体,为Deno应用程序网络通信提供了基础支持。

    13410

    听GPT 讲Deno源代码(6)

    std_error: Option:用于存储标准库错误信息引用。这个字段是一个可选项,可以标准任何实现了StdError trait类型。...indexed_std_error: Option:用于存储带有索引标准库错误信息引用。这个字段是一个可选项,可以标准实现了IndexedStdError trait类型。...该文件包含了多个结构体和实现,用于表示不同类型错误和异常。其中最重要两个结构体是JSError和DenoError。 JSError结构体用于表示JavaScript运行时错误。...当需要获取用户许可时,会通过标准输入输出流与用户进行交互。 TestPrompter: 类型:结构体 作用:测试环境下模拟权限提示行为,以便进行单元测试和集成测试。...Stdio:表示子进程标准输入、输出和错误输出类型。它是一个枚举类型可以是管道、继承父进程标准输入、输出、错误输出,或者是一个具体文件。

    10210

    听GPT 讲Deno源代码(3)

    总的来说,deno/ext/io/lib.rs文件结构和枚举提供了Deno项目中基本IO功能封装和管理。它们可以用于处理标准输入输出流以及其他文件IO操作。...URL模式匹配是指将URL与特定模式进行比较,以确定URL是否与模式匹配。此功能在Web开发十分常见,可以用于处理路由、URL重定向等。URL模式通常使用通配符或正则表达式来描述。...结构体Static字段存储了不同类型静态引用,比如Deno核心模块静态引用、Deno标准静态引用、Deno原生模块静态引用等。这些字段类型都是指针,它们指向相应静态数据。...静态引用实体Deno项目中使用非常广泛。例如,不同模块可以使用Static结构体实例来获取对Deno核心模块静态引用,然后通过这些静态引用来访问核心模块函数和变量。...静态引用实体还可以用于加载和使用Deno标准库和原生模块。此外,静态引用实体还可用于跨线程传递数据,以提高Deno并发性能。

    14410

    最全面的 Deno 入门教程

    标准库:Deno 带有标准库,这意味着 Deno 应用程序比 Node 程序更自洽,因为 Deno JavaScript 之上具有许多内部工具函数。...因此 Deno 确保客户端 JavaScript 程序可用 API 也可以服务器端 Deno 应用程序中使用。...我们对浏览器 fetch API 是很熟悉。所以 Deno 可以用与浏览器端完全相同接口,而不必为 Deno 使用新 API。使用 Deno 时我们不需要重新考虑自己方法。... Deno 中进行测试 在编程过程测试不应该事后再去考虑, Deno 也一样,测试是必不可少。接下来通过编写第一个单元测试来了解其工作原理。...你也可以Deno test 仅测试特定文件,本例Deno test stories.test.js 。

    3.5K10

    Deno】600- 了不起 Deno 实战教程

    = () => uuid.generate(); util.ts 文件,我们使用 Deno 标准 uuid 模块来为新建 Todo 生成一个唯一 id。...(DB_PATH, encoder.encode(JSON.stringify(data))); }; 我们示例,db.ts 文件用于实现数据管理,数据持久化方式使用是本地 JSON 文件...为了避免出现这种情况,我们可以每个处理程序添加 try/catch 块,但其实还有一个更好解决方案,即在所有路由之前添加异常处理中间件,该中间件内部来捕获所有异常。...deno-add-todo 从返回 HTTP 响应报文,我们可以知道 Learn Deno Todo 已经新增成功了,安全起见让我们来打开 Todo 根目录下 db 目录 todos.json...todos-json 从图可知 Learn Deno Todo 的确新增成功了,对于其他接口有兴趣读者可以自行测试一下。

    1.5K10

    了不起 Deno 实战教程

    = () => uuid.generate(); util.ts 文件,我们使用 Deno 标准 uuid 模块来为新建 Todo 生成一个唯一 id。...(DB_PATH, encoder.encode(JSON.stringify(data))); }; 我们示例,db.ts 文件用于实现数据管理,数据持久化方式使用是本地 JSON 文件。...为了避免出现这种情况,我们可以每个处理程序添加 try/catch 块,但其实还有一个更好解决方案,即在所有路由之前添加异常处理中间件,该中间件内部来捕获所有异常。...从返回 HTTP 响应报文,我们可以知道 Learn Deno Todo 已经新增成功了,安全起见让我们来打开 Todo 根目录下 db 目录 todos.json 文件,验证一下是否 “入库...从图可知 Learn Deno Todo 的确新增成功了,对于其他接口有兴趣读者可以自行测试一下。

    2.5K10

    了不起 Deno 实战教程

    = () => uuid.generate(); util.ts 文件,我们使用 Deno 标准 uuid 模块来为新建 Todo 生成一个唯一 id。...(DB_PATH, encoder.encode(JSON.stringify(data))); }; 我们示例,db.ts 文件用于实现数据管理,数据持久化方式使用是本地 JSON 文件...为了避免出现这种情况,我们可以每个处理程序添加 try/catch 块,但其实还有一个更好解决方案,即在所有路由之前添加异常处理中间件,该中间件内部来捕获所有异常。...deno-add-todo 从返回 HTTP 响应报文,我们可以知道 Learn Deno Todo 已经新增成功了,安全起见让我们来打开 Todo 根目录下 db 目录 todos.json...todos-json 从图可知 Learn Deno Todo 的确新增成功了,对于其他接口有兴趣读者可以自行测试一下。

    1.8K30

    从一个todo应用来学习deno

    主要特性是: 权限管理严格,非常安全 支持 TypeScript 一个可执行文件即可运行 内置很多实用工具 提供了很多标准模块 Deno 内置工具 deno run 用于类型检查和运行 deno...与 Deno 其他部分一样,测试系统相当灵活,测试文件 client/App.tsx client/App.test.tsx.Deno.test 函数用于注册测试。...Deno 标准testing/asserts.ts包包含各种测试断言。...默认情况下,此命令将监视正在运行脚本项目中所有源文件,但它也可以指定监视任意文件和目录。如果开发服务器禁用类型检查情况下运行(通过--no-check选项),应用程序重新启动非常快。...server/routes.ts,根路由将一段实时重载代码插入客户端,“/livereload”端点处理 websocket 连接。每当服务器重新启动时,客户端将断开连接并尝试重新连接。

    59820

    相比于 Node.js,Deno 和 Bun 到底能带来什么?

    2009 年,Ryan Dahl 开始研发一个能够使 JavaScript 浏览器以外运行 JavaScript 运行时,这个特定运行时就是 Node.js,它是基于 V8 构建。...⚙️ Deno主要特性和特点 原生 TypeScript 支持:开发者可以无缝地编写和运行 TypeScript 代码。 权限模型:内置系统用于执行细粒度权限,以控制允许脚本执行操作。...企业不太可能为了不太成熟技术而放弃他们 Node.js 上投入。 性能和安全性改进还不足以证明一定需要进行切换。 找到 Deno 和 Bun 开发者比找 Node.js 开发者困难得多。...可以肯定是,Node.js 团队不会坐视 Deno 和 Bun 肆无忌惮侵占市场。他们肯定会从这些竞争对手提供一些关键特性汲取灵感,并且持续进行改进。...另一方面,Bun 更适合对性能有极高要求应用。 Deno 和 Bun 应被视为 Node.js 补充解决方案,可以更广泛 JavaScript 生态系统并存。 对此,你怎么看?

    62710

    Deno 环境下 TypeScript 开发入门手册

    Node 没有可用于修改余地,这种修改代价将会是巨大。所以我们只能用回调或大量 API 调用。 Node.js 非常棒,并将继续成为 JavaScript 世界事实上标准。...这意味着,当我们用 VS Code 进行编码时(由于二者都是 MicroSoft 上开发,因此与 TypeScript 紧密集成),可以在编写代码时获得类型检查和高级 IntelliSensehttps...你可以用 --reload 标志来强制重新加载原始源: ? deno run 有许多没有 deno --help 列出选项。...撰写本文时,我们可以找到: cat.ts:打印作为参数提供文件列表内容 catj.ts:打印作为参数提供文件列表内容 chat/:一个聊天程序实现 colors.ts:一个例子 curl.ts...我们想: 添加新狗 列出狗 获取特定详细信息 从列表删除一条狗 更新狗年龄 我们将用 TypeScript 进行这些操作,当然你也可以用 JavaScript 编写 API —— 只需去掉类型可以

    1.5K20

    deno入门教程

    内置工具:Deno 包含一些内置实用工具,如便捷标准库、调试器和测试运行器,这些使得开发过程更加高效。...你也可以给 deno init 指定一个参数来特定目录初始化一个项目: $ deno init my_deno_project ✅ 项目已初始化 运行以下命令来开始 cd my_deno_project.../path/to/library.ts"; 请确保您已将第三方库下载到正确位置并提供正确路径。 使用 URL 和版本号导入:如果您希望使用特定版本依赖项,可以 URL 后添加版本号。...使用 import maps 导入:您还可以 Deno import map 设置别名来导入第三方依赖项。...deno.json Deno deno.json 是一个用于配置项目的文件,类似于其他项目中常见 package.json 或 tsconfig.json。

    38920

    Deno 1.0正式发布!它能替代 NodeJS 吗?

    Deno ,单个文件可以定义任意复杂行为,而无需其他任何工具。...Deno 有很多接口和组件,因此明确我们所说“稳定”含义是很重要。我们开发与操作系统交互 JavaScript API 都可以Deno”命名空间(例如 Deno.open())中找到。...全局命名空间中,你会找到其他所有对象(例如 setTimeout() 和 fetch())。我们已经尽力让这些接口与浏览器接口保持一致。但是如果发现意外不兼容问题,我们将发出更正。...这些接口不是我们,而是浏览器标准定义。我们发布所有更正均是错误修复,而不是接口更改。如果存在与浏览器标准 API 不兼容问题,则它可以主要版本发布之前得到更正。...我们当然认为可以现有 TypeScript 编译器基础上进行一些改进,但我们知道,显然我们最终需要在 Rust 实现类型检查。这将是一项艰巨任务,不会一蹴而就。

    90910

    Deno 1.0正式发布!它能替代 NodeJS 吗?(对比)

    Deno ,单个文件可以定义任意复杂行为,而无需其他任何工具。...Deno 有很多接口和组件,因此明确我们所说“稳定”含义是很重要。我们开发与操作系统交互 JavaScript API 都可以Deno”命名空间(例如 Deno.open())中找到。...全局命名空间中,你会找到其他所有对象(例如 setTimeout() 和 fetch())。我们已经尽力让这些接口与浏览器接口保持一致。但是如果发现意外不兼容问题,我们将发出更正。...这些接口不是我们,而是浏览器标准定义。我们发布所有更正均是错误修复,而不是接口更改。如果存在与浏览器标准 API 不兼容问题,则它可以主要版本发布之前得到更正。...我们当然认为可以现有 TypeScript 编译器基础上进行一些改进,但我们知道,显然我们最终需要在 Rust 实现类型检查。这将是一项艰巨任务,不会一蹴而就。

    78020

    Deno 1.0正式发布!它能替代 NodeJS 吗?(对比)

    Deno ,单个文件可以定义任意复杂行为,而无需其他任何工具。...Deno 有很多接口和组件,因此明确我们所说“稳定”含义是很重要。我们开发与操作系统交互 JavaScript API 都可以Deno”命名空间(例如 Deno.open())中找到。...全局命名空间中,你会找到其他所有对象(例如 setTimeout() 和 fetch())。我们已经尽力让这些接口与浏览器接口保持一致。但是如果发现意外不兼容问题,我们将发出更正。...这些接口不是我们,而是浏览器标准定义。我们发布所有更正均是错误修复,而不是接口更改。如果存在与浏览器标准 API 不兼容问题,则它可以主要版本发布之前得到更正。...我们当然认为可以现有 TypeScript 编译器基础上进行一些改进,但我们知道,显然我们最终需要在 Rust 实现类型检查。这将是一项艰巨任务,不会一蹴而就。

    75610
    领券