Home > OS >  How to pass command line arguments in deno test?
How to pass command line arguments in deno test?

Time:10-05

For example:

Deno.test({
  name: "Testing qr-html generation",
  fn: async () => {
    await createQRhtml();
    assertEquals(exists("out/qr.html"), true);
  }
});

createQRhtml() function takes arguments from command line. Specifically, first argument: Deno.args[0].

How to specify here?

CodePudding user response:

You can pass your CLI arguments after a double dash (--) like this:

deno test args.test.ts -- hello

args.test.ts:

import {assert} from 'https://deno.land/[email protected]/testing/asserts.ts';

function isHello (str?: unknown): boolean {
  return str === 'hello';
}

Deno.test('First CLI argument is "hello"', () => {
  const [firstArg] = Deno.args;
  assert(isHello(firstArg));
});

You can learn about the test commmand and other commands in your CLI using the form:

deno help COMMAND_NAME

This is included in the output of deno help test:

USAGE:
    deno test [OPTIONS] [files]... [-- <SCRIPT_ARG>...]

See also: https://github.com/denoland/deno/issues/8096

  • Related