context.test([name][, options][, fn])


  • name <string> 子测试的名称,在报告测试结果时显示。默认值: fnname 属性,或如果 fn 没有名称,则为 '<anonymous>'
  • options <Object> 子测试的配置选项。支持以下属性:
    • concurrency <number> 可以同时运行的测试数量。 如果未指定,子测试将继承其父测试的此值。 默认值: 1
    • only <boolean> 如果为真,并且测试环境配置为只运行 only 测试,则该测试将被执行。否则,该测试将被跳过。默认值: false
    • signal <AbortSignal> 允许中止正在进行的测试。
    • skip <boolean> | <string> 如果为真,则跳过测试。如果提供一个字符串,该字符串将在测试结果中显示,作为跳过测试的原因。默认值: false
    • todo <boolean> | <string> 如果为真,则将测试标记为 TODO。如果提供了一个字符串,该字符串将在测试结果中显示,作为该测试为 TODO 的原因。默认值: false
    • timeout <number> 测试将在指定毫秒数后失败。如果未指定,子测试将继承父测试的此值。默认值: Infinity
  • fn <Function> | <AsyncFunction> 被测试的函数。此函数的第一个参数是一个 TestContext 对象。如果测试使用回调函数,回调函数将作为第二个参数传入。默认值: 一个空操作函数。
  • 返回:<Promise> 在测试完成后以 undefined 解决。

此函数用于在当前测试下创建子测试。此函数的行为与顶层 test() 函数相同。

🌐 This function is used to create subtests under the current test. This function behaves in the same fashion as the top level test() function.

test('top level test', async (t) => {
  await t.test(
    'This is a subtest',
    { only: false, skip: false, concurrency: 1, todo: false },
    (t) => {
      assert.ok('some relevant assertion here');
    }
  );
});