Deno.TestContext

Context that is passed to a testing function, which can be used to either gain information about the current test, or register additional test steps within the current test.

interface TestContext {
name: string;
origin: string;
parent?: TestContext;
step(definition: TestStepDefinition): Promise<boolean>;
step(name: string, fn: (t: TestContext) => void | Promise<void>): Promise<boolean>;
}

§Properties

§
name: string
[src]

The current test name.

§
origin: string
[src]

The string URL of the current test.

§

If the current test is a step of another test, the parent test context will be set here.

§Methods

§
step(definition: TestStepDefinition): Promise<boolean>
[src]

Run a sub step of the parent test or step. Returns a promise that resolves to a boolean signifying if the step completed successfully.

The returned promise never rejects unless the arguments are invalid.

If the test was ignored the promise returns false.

Deno.test({
  name: "a parent test",
  async fn(t) {
    console.log("before the step");
    await t.step({
      name: "step 1",
      fn(t) {
        console.log("current step:", t.name);
      }
    });
    console.log("after the step");
  }
});
§
step(name: string, fn: (t: TestContext) => void | Promise<void>): Promise<boolean>
[src]

Run a sub step of the parent test or step. Returns a promise that resolves to a boolean signifying if the step completed successfully.

The returned promise never rejects unless the arguments are invalid.

If the test was ignored the promise returns false.

Deno.test(
  "a parent test",
  async (t) => {
    console.log("before the step");
    await t.step(
      "step 1",
      (t) => {
        console.log("current step:", t.name);
      }
    );
    console.log("after the step");
  }
);