context.beforeEach([, fn][, options])


  • fn <Function> | <AsyncFunction> 钩子函数。此函数的第一个参数是 TestContext 对象。如果钩子使用回调,则回调函数作为第二个参数传入。默认值:空操作函数。

    ¥fn <Function> | <AsyncFunction> The hook function. The first argument to this function is a TestContext object. If the hook uses callbacks, the callback function is passed as the second argument. Default: A no-op function.

  • options <Object> 钩子的配置选项。支持以下属性:

    ¥options <Object> Configuration options for the hook. The following properties are supported:

    • signal <AbortSignal> 允许中止正在进行的钩子。

      ¥signal <AbortSignal> Allows aborting an in-progress hook.

    • timeout <number> 钩子会在几毫秒后失败。如果未指定,则子测试从其父测试继承此值。默认值:Infinity

      ¥timeout <number> A number of milliseconds the hook will fail after. If unspecified, subtests inherit this value from their parent. Default: Infinity.

此函数用于创建一个在当前测试的每个子测试之前运行的钩子。

¥This function is used to create a hook running before each subtest of the current test.

test('top level test', async (t) => {
  t.beforeEach((t) => t.diagnostic(`about to run ${t.name}`));
  await t.test(
    'This is a subtest',
    (t) => {
      assert.ok('some relevant assertion here');
    }
  );
});