Skip to main content
Deno.DenoTest - Deno documentation
interface Deno.DenoTest

Call Signatures

(t: TestDefinition): void
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. ```ts import { assertEquals } from "jsr:@std/assert"; Deno.test({ name: "example test", fn() { assertEquals("world", "world"); }, }); Deno.test({ name: "example ignored test", ignore: Deno.build.os === "windows", fn() { // 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"); } }); ```
(
name: string,
fn: (t: TestContext) => void | Promise<void>,
): void
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. ```ts import { assertEquals } from "jsr:@std/assert"; Deno.test("My test description", () => { assertEquals("hello", "hello"); }); Deno.test("My async test description", async () => { const decoder = new TextDecoder("utf-8"); const data = await Deno.readFile("hello_world.txt"); assertEquals(decoder.decode(data), "Hello world"); }); ```
(fn: (t: TestContext) => void | Promise<void>): void
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. ```ts import { assertEquals } from "jsr:@std/assert"; Deno.test(function myTestName() { assertEquals("hello", "hello"); }); Deno.test(async function myOtherTestName() { const decoder = new TextDecoder("utf-8"); const data = await Deno.readFile("hello_world.txt"); assertEquals(decoder.decode(data), "Hello world"); }); ```
(
name: string,
options: Omit<TestDefinition, "fn" | "name">,
fn: (t: TestContext) => void | Promise<void>,
): void
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. ```ts import { assert, fail, assertEquals } from "jsr:@std/assert"; Deno.test("My test description", { permissions: { read: true } }, (): void => { assertEquals("hello", "hello"); }); Deno.test("My async test description", { permissions: { read: false } }, async (): Promise => { const decoder = new TextDecoder("utf-8"); const data = await Deno.readFile("hello_world.txt"); assertEquals(decoder.decode(data), "Hello world"); }); ```
(
options: Omit<TestDefinition, "fn" | "name">,
fn: (t: TestContext) => void | Promise<void>,
): void
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. ```ts import { assertEquals } from "jsr:@std/assert"; Deno.test( { name: "My test description", permissions: { read: true }, }, () => { assertEquals("hello", "hello"); }, ); Deno.test( { name: "My async test description", permissions: { read: false }, }, async () => { const decoder = new TextDecoder("utf-8"); const data = await Deno.readFile("hello_world.txt"); assertEquals(decoder.decode(data), "Hello world"); }, ); ```
(
options: Omit<TestDefinition, "fn">,
fn: (t: TestContext) => void | Promise<void>,
): void
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. ```ts import { assertEquals } from "jsr:@std/assert"; Deno.test( { permissions: { read: true } }, function myTestName() { assertEquals("hello", "hello"); }, ); Deno.test( { permissions: { read: false } }, async function myOtherTestName() { const decoder = new TextDecoder("utf-8"); const data = await Deno.readFile("hello_world.txt"); assertEquals(decoder.decode(data), "Hello world"); }, ); ```

Methods

ignore(t: Omit<TestDefinition, "ignore">): void
Shorthand property for ignoring a particular test case.
ignore(
name: string,
fn: (t: TestContext) => void | Promise<void>,
): void
Shorthand property for ignoring a particular test case.
ignore(fn: (t: TestContext) => void | Promise<void>): void
Shorthand property for ignoring a particular test case.
ignore(
name: string,
options: Omit<TestDefinition,
"fn"
| "name"
| "ignore"
>
,
fn: (t: TestContext) => void | Promise<void>,
): void
Shorthand property for ignoring a particular test case.
ignore(
options: Omit<TestDefinition,
"fn"
| "name"
| "ignore"
>
,
fn: (t: TestContext) => void | Promise<void>,
): void
Shorthand property for ignoring a particular test case.
ignore(
options: Omit<TestDefinition, "fn" | "ignore">,
fn: (t: TestContext) => void | Promise<void>,
): void
Shorthand property for ignoring a particular test case.
only(t: Omit<TestDefinition, "only">): void
Shorthand property for focusing a particular test case.
only(
name: string,
fn: (t: TestContext) => void | Promise<void>,
): void
Shorthand property for focusing a particular test case.
only(fn: (t: TestContext) => void | Promise<void>): void
Shorthand property for focusing a particular test case.
only(
name: string,
options: Omit<TestDefinition,
"fn"
| "name"
| "only"
>
,
fn: (t: TestContext) => void | Promise<void>,
): void
Shorthand property for focusing a particular test case.
only(
options: Omit<TestDefinition,
"fn"
| "name"
| "only"
>
,
fn: (t: TestContext) => void | Promise<void>,
): void
Shorthand property for focusing a particular test case.
only(
options: Omit<TestDefinition, "fn" | "only">,
fn: (t: TestContext) => void | Promise<void>,
): void
Shorthand property for focusing a particular test case.