Hi there! Are you looking for the official Deno documentation? Try docs.deno.com for all your Deno learning needs.

Deno.test

Register a test which will be run when deno test is used on the command line and the containing module looks like a test module. fn can be async if required.

import {assert, fail, assertEquals} from "https://deno.land/std/testing/asserts.ts";

Deno.test({
  name: "example test",
  fn(): void {
    assertEquals("world", "world");
  },
});

Deno.test({
  name: "example ignored test",
  ignore: Deno.build.os === "windows",
  fn(): void {
    // This test is ignored only on Windows machines
  },
});

Deno.test({
  name: "example async test",
  async fn() {
    const decoder = new TextDecoder("utf-8");
    const data = await Deno.readFile("hello_world.txt");
    assertEquals(decoder.decode(data), "Hello world");
  }
});
function test(t: TestDefinition): void;
function test(name: string, fn: (t: TestContext) => void | Promise<void>): void;
function test(fn: (t: TestContext) => void | Promise<void>): void;
function test(
name: string,
options: Omit<TestDefinition, "fn" | "name">,
fn: (t: TestContext) => void | Promise<void>,
): void;
function test(options: Omit<TestDefinition, "fn">, fn: (t: TestContext) => void | Promise<void>): void;
function test(options: Omit<TestDefinition, "fn" | "name">, fn: (t: TestContext) => void | Promise<void>): void;
§
test(t: TestDefinition): void
[src]

Register a test which will be run when deno test is used on the command line and the containing module looks like a test module. fn can be async if required.

import {assert, fail, assertEquals} from "https://deno.land/std/testing/asserts.ts";

Deno.test({
  name: "example test",
  fn(): void {
    assertEquals("world", "world");
  },
});

Deno.test({
  name: "example ignored test",
  ignore: Deno.build.os === "windows",
  fn(): void {
    // This test is ignored only on Windows machines
  },
});

Deno.test({
  name: "example async test",
  async fn() {
    const decoder = new TextDecoder("utf-8");
    const data = await Deno.readFile("hello_world.txt");
    assertEquals(decoder.decode(data), "Hello world");
  }
});

§Return Type

§
test(name: string, fn: (t: TestContext) => void | Promise<void>): void
[src]

Register a test which will be run when deno test is used on the command line and the containing module looks like a test module. fn can be async if required.

import {assert, fail, assertEquals} from "https://deno.land/std/testing/asserts.ts";

Deno.test("My test description", (): void => {
  assertEquals("hello", "hello");
});

Deno.test("My async test description", async (): Promise<void> => {
  const decoder = new TextDecoder("utf-8");
  const data = await Deno.readFile("hello_world.txt");
  assertEquals(decoder.decode(data), "Hello world");
});

§Parameters

§
name: string
[src]
§
fn: (t: TestContext) => void | Promise<void>
[src]

§Return Type

§
test(fn: (t: TestContext) => void | Promise<void>): void
[src]

Register a test which will be run when deno test is used on the command line and the containing module looks like a test module. fn can be async if required. Declared function must have a name.

import {assert, fail, assertEquals} from "https://deno.land/std/testing/asserts.ts";

Deno.test(function myTestName(): void {
  assertEquals("hello", "hello");
});

Deno.test(async function myOtherTestName(): Promise<void> {
  const decoder = new TextDecoder("utf-8");
  const data = await Deno.readFile("hello_world.txt");
  assertEquals(decoder.decode(data), "Hello world");
});

§Parameters

§
fn: (t: TestContext) => void | Promise<void>
[src]

§Return Type

§
test(name: string, options: Omit<TestDefinition, "fn" | "name">, fn: (t: TestContext) => void | Promise<void>): void
[src]

Register a test which will be run when deno test is used on the command line and the containing module looks like a test module. fn can be async if required.

import {assert, fail, assertEquals} from "https://deno.land/std/testing/asserts.ts";

Deno.test("My test description", { permissions: { read: true } }, (): void => {
  assertEquals("hello", "hello");
});

Deno.test("My async test description", { permissions: { read: false } }, async (): Promise<void> => {
  const decoder = new TextDecoder("utf-8");
  const data = await Deno.readFile("hello_world.txt");
  assertEquals(decoder.decode(data), "Hello world");
});

§Parameters

§
name: string
[src]
§
options: Omit<TestDefinition, "fn" | "name">
[src]
§
fn: (t: TestContext) => void | Promise<void>
[src]

§Return Type

§
test(options: Omit<TestDefinition, "fn">, fn: (t: TestContext) => void | Promise<void>): void
[src]

Register a test which will be run when deno test is used on the command line and the containing module looks like a test module. fn can be async if required.

import {assert, fail, assertEquals} from "https://deno.land/std/testing/asserts.ts";

Deno.test({ name: "My test description", permissions: { read: true } }, (): void => {
  assertEquals("hello", "hello");
});

Deno.test({ name: "My async test description", permissions: { read: false } }, async (): Promise<void> => {
  const decoder = new TextDecoder("utf-8");
  const data = await Deno.readFile("hello_world.txt");
  assertEquals(decoder.decode(data), "Hello world");
});

§Parameters

§
options: Omit<TestDefinition, "fn">
[src]
§
fn: (t: TestContext) => void | Promise<void>
[src]

§Return Type

§
test(options: Omit<TestDefinition, "fn" | "name">, fn: (t: TestContext) => void | Promise<void>): void
[src]

Register a test which will be run when deno test is used on the command line and the containing module looks like a test module. fn can be async if required. Declared function must have a name.

import {assert, fail, assertEquals} from "https://deno.land/std/testing/asserts.ts";

Deno.test({ permissions: { read: true } }, function myTestName(): void {
  assertEquals("hello", "hello");
});

Deno.test({ permissions: { read: false } }, async function myOtherTestName(): Promise<void> {
  const decoder = new TextDecoder("utf-8");
  const data = await Deno.readFile("hello_world.txt");
  assertEquals(decoder.decode(data), "Hello world");
});

§Parameters

§
options: Omit<TestDefinition, "fn" | "name">
[src]
§
fn: (t: TestContext) => void | Promise<void>
[src]

§Return Type