首页 > 解决方案 > 如何在 deno 测试中传递命令行参数?

问题描述

例如:

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

createQRhtml()函数从命令行获取参数。具体来说,第一个论点:Deno.args[0].

这里如何指定?

标签: javascripttypescriptunit-testingtestingdeno

解决方案


您可以在双破折号 ( --) 之后传递 CLI 参数,如下所示:

deno test args.test.ts -- hello

args.test.ts

import {assert} from 'https://deno.land/std@0.109.0/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));
});

您可以test使用以下形式了解 CLI 中的命令和其他命令:

deno help COMMAND_NAME

这包含在以下输出中deno help test

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

另见:https ://github.com/denoland/deno/issues/8096


推荐阅读