context.test([name][, options][, fn])
name<string> 子测试的名称,在报告测试结果时显示。默认值:fn的name属性,或如果fn没有名称,则为'<anonymous>'。options<Object> 子测试的配置选项。支持以下属性:concurrency<number> | <boolean> | <null> 如果提供一个数字,那么应用线程中会同时运行相应数量的测试。如果为true,则会并行运行所有子测试。如果为false,则一次只运行一个测试。如果未指定,子测试会继承其父测试的该值。默认值:null。only<boolean> 如果为真,并且测试环境配置为只运行only测试,则该测试将被执行。否则,该测试将被跳过。默认值:false。signal<AbortSignal> 允许中止正在进行的测试。skip<boolean> | <string> 如果为真,则跳过测试。如果提供一个字符串,该字符串将在测试结果中显示,作为跳过测试的原因。默认值:false。todo<boolean> | <string> 如果为真,则将测试标记为TODO。如果提供了一个字符串,该字符串将在测试结果中显示,作为该测试为TODO的原因。默认值:false。timeout<number> 测试将在指定毫秒数后失败。如果未指定,子测试将继承父测试的此值。默认值:Infinity。plan<number> 预计在测试中运行的断言和子测试的数量。如果测试中运行的断言数量与计划中指定的数量不匹配,测试将失败。 默认值:undefined.
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, plan: 1 },
(t) => {
t.assert.ok('some relevant assertion here');
},
);
});