@@ -446,6 +446,120 @@ same as [`it([name], { skip: true }[, fn])`][it options].
446446Shorthand for marking a test as ` TODO ` ,
447447same as [ ` it([name], { todo: true }[, fn]) ` ] [ it options ] .
448448
449+ ### ` before([, fn][, options]) `
450+
451+ <!-- YAML
452+ added: REPLACEME
453+ -->
454+
455+ * ` fn ` {Function|AsyncFunction} The hook function.
456+ If the hook uses callbacks,
457+ the callback function is passed as the second argument. ** Default:** A no-op
458+ function.
459+ * ` options ` {Object} Configuration options for the hook. The following
460+ properties are supported:
461+ * ` signal ` {AbortSignal} Allows aborting an in-progress hook
462+ * ` timeout ` {number} A number of milliseconds the hook will fail after.
463+ If unspecified, subtests inherit this value from their parent.
464+ ** Default:** ` Infinity ` .
465+
466+ This function is used to create a hook running before running a suite.
467+
468+ ``` js
469+ describe (' tests' , async () => {
470+ before (() => console .log (' about to run some test' ));
471+ it (' is a subtest' , () => {
472+ assert .ok (' some relevant assertion here' );
473+ });
474+ });
475+ ```
476+
477+ ### ` after([, fn][, options]) `
478+
479+ <!-- YAML
480+ added: REPLACEME
481+ -->
482+
483+ * ` fn ` {Function|AsyncFunction} The hook function.
484+ If the hook uses callbacks,
485+ the callback function is passed as the second argument. ** Default:** A no-op
486+ function.
487+ * ` options ` {Object} Configuration options for the hook. The following
488+ properties are supported:
489+ * ` signal ` {AbortSignal} Allows aborting an in-progress hook
490+ * ` timeout ` {number} A number of milliseconds the hook will fail after.
491+ If unspecified, subtests inherit this value from their parent.
492+ ** Default:** ` Infinity ` .
493+
494+ This function is used to create a hook running after running a suite.
495+
496+ ``` js
497+ describe (' tests' , async () => {
498+ after (() => console .log (' finished running tests' ));
499+ it (' is a subtest' , () => {
500+ assert .ok (' some relevant assertion here' );
501+ });
502+ });
503+ ```
504+
505+ ### ` beforeEach([, fn][, options]) `
506+
507+ <!-- YAML
508+ added: REPLACEME
509+ -->
510+
511+ * ` fn ` {Function|AsyncFunction} The hook function.
512+ If the hook uses callbacks,
513+ the callback function is passed as the second argument. ** Default:** A no-op
514+ function.
515+ * ` options ` {Object} Configuration options for the hook. The following
516+ properties are supported:
517+ * ` signal ` {AbortSignal} Allows aborting an in-progress hook
518+ * ` timeout ` {number} A number of milliseconds the hook will fail after.
519+ If unspecified, subtests inherit this value from their parent.
520+ ** Default:** ` Infinity ` .
521+
522+ This function is used to create a hook running
523+ before each subtest of the current suite.
524+
525+ ``` js
526+ describe (' tests' , async () => {
527+ beforeEach (() => t .diagnostics (' about to run a test' ));
528+ it (' is a subtest' , () => {
529+ assert .ok (' some relevant assertion here' );
530+ });
531+ });
532+ ```
533+
534+ ### ` afterEach([, fn][, options]) `
535+
536+ <!-- YAML
537+ added: REPLACEME
538+ -->
539+
540+ * ` fn ` {Function|AsyncFunction} The hook function.
541+ If the hook uses callbacks,
542+ the callback function is passed as the second argument. ** Default:** A no-op
543+ function.
544+ * ` options ` {Object} Configuration options for the hook. The following
545+ properties are supported:
546+ * ` signal ` {AbortSignal} Allows aborting an in-progress hook
547+ * ` timeout ` {number} A number of milliseconds the hook will fail after.
548+ If unspecified, subtests inherit this value from their parent.
549+ ** Default:** ` Infinity ` .
550+
551+ This function is used to create a hook running
552+ after each subtest of the current test.
553+
554+ ``` js
555+ describe (' tests' , async () => {
556+ afterEach (() => t .diagnostics (' about to run a test' ));
557+ it (' is a subtest' , () => {
558+ assert .ok (' some relevant assertion here' );
559+ });
560+ });
561+ ```
562+
449563## Class: ` TestContext `
450564
451565<!-- YAML
@@ -456,6 +570,70 @@ An instance of `TestContext` is passed to each test function in order to
456570interact with the test runner. However, the ` TestContext ` constructor is not
457571exposed as part of the API.
458572
573+ ### ` context.beforeEach([, fn][, options]) `
574+
575+ <!-- YAML
576+ added: REPLACEME
577+ -->
578+
579+ * ` fn ` {Function|AsyncFunction} The hook function. The first argument
580+ to this function is a [ ` TestContext ` ] [ ] object. If the hook uses callbacks,
581+ the callback function is passed as the second argument. ** Default:** A no-op
582+ function.
583+ * ` options ` {Object} Configuration options for the hook. The following
584+ properties are supported:
585+ * ` signal ` {AbortSignal} Allows aborting an in-progress hook
586+ * ` timeout ` {number} A number of milliseconds the hook will fail after.
587+ If unspecified, subtests inherit this value from their parent.
588+ ** Default:** ` Infinity ` .
589+
590+ This function is used to create a hook running
591+ before each subtest of the current test.
592+
593+ ``` js
594+ test (' top level test' , async (t ) => {
595+ t .beforeEach ((t ) => t .diagnostics (` about to run ${ t .name } ` ));
596+ await t .test (
597+ ' This is a subtest' ,
598+ (t ) => {
599+ assert .ok (' some relevant assertion here' );
600+ }
601+ );
602+ });
603+ ```
604+
605+ ### ` context.afterEach([, fn][, options]) `
606+
607+ <!-- YAML
608+ added: REPLACEME
609+ -->
610+
611+ * ` fn ` {Function|AsyncFunction} The hook function. The first argument
612+ to this function is a [ ` TestContext ` ] [ ] object. If the hook uses callbacks,
613+ the callback function is passed as the second argument. ** Default:** A no-op
614+ function.
615+ * ` options ` {Object} Configuration options for the hook. The following
616+ properties are supported:
617+ * ` signal ` {AbortSignal} Allows aborting an in-progress hook
618+ * ` timeout ` {number} A number of milliseconds the hook will fail after.
619+ If unspecified, subtests inherit this value from their parent.
620+ ** Default:** ` Infinity ` .
621+
622+ This function is used to create a hook running
623+ after each subtest of the current test.
624+
625+ ``` js
626+ test (' top level test' , async (t ) => {
627+ t .afterEach ((t ) => t .diagnostics (` finished running ${ t .name } ` ));
628+ await t .test (
629+ ' This is a subtest' ,
630+ (t ) => {
631+ assert .ok (' some relevant assertion here' );
632+ }
633+ );
634+ });
635+ ```
636+
459637### ` context.diagnostic(message) `
460638
461639<!-- YAML
@@ -474,6 +652,14 @@ test('top level test', (t) => {
474652});
475653```
476654
655+ ### ` context.name `
656+
657+ <!-- YAML
658+ added: REPLACEME
659+ -->
660+
661+ The name of the test
662+
477663### ` context.runOnly(shouldRunOnlyTests) `
478664
479665<!-- YAML
@@ -617,6 +803,14 @@ An instance of `SuiteContext` is passed to each suite function in order to
617803interact with the test runner. However, the ` SuiteContext ` constructor is not
618804exposed as part of the API.
619805
806+ ### ` context.name `
807+
808+ <!-- YAML
809+ added: REPLACEME
810+ -->
811+
812+ The name of the suite
813+
620814### ` context.signal `
621815
622816<!-- YAML
0 commit comments