Skip to main content
Deno 2 is finally here 🎉️
Learn more
Module

x/dtils/deps.ts>asserts.assertRejects

The best unofficial library of utilities for Deno applications
Go to Latest
function asserts.assertRejects
import { asserts } from "https://deno.land/x/dtils@2.6.0/deps.ts";
const { assertRejects } = asserts;

Executes a function which returns a promise, expecting it to reject.

Examples

Example 1

import { assertRejects } from "https://deno.land/std@0.224.0/assert/assert_rejects.ts";

Deno.test("doesThrow", async function () {
  await assertRejects(
    async () => {
      throw new TypeError("hello world!");
    },
  );
  await assertRejects(
    async () => {
      return Promise.reject(new Error());
    },
  );
});

// This test will not pass.
Deno.test("fails", async function () {
  await assertRejects(
    async () => {
      console.log("Hello world");
    },
  );
});

Parameters

fn: () => PromiseLike<unknown>
optional
msg: string

Returns

Promise<unknown>

Executes a function which returns a promise, expecting it to reject. If it does not, then it throws. An error class and a string that should be included in the error message can also be asserted.

Examples

Example 1

import { assertRejects } from "https://deno.land/std@0.224.0/assert/assert_rejects.ts";

Deno.test("doesThrow", async function () {
  await assertRejects(async () => {
    throw new TypeError("hello world!");
  }, TypeError);
  await assertRejects(
    async () => {
      throw new TypeError("hello world!");
    },
    TypeError,
    "hello",
  );
});

// This test will not pass.
Deno.test("fails", async function () {
  await assertRejects(
    async () => {
      console.log("Hello world");
    },
  );
});

Type Parameters

optional
E extends Error = Error

Parameters

fn: () => PromiseLike<unknown>
ErrorClass: new (...args: any[]) => E
optional
msgIncludes: string
optional
msg: string

Returns

Promise<E>