From c33064f7bfc7b3159d6a10a20a5c8924ea0fb062 Mon Sep 17 00:00:00 2001 From: Max Schmitt Date: Mon, 17 Jun 2024 20:42:35 +0200 Subject: [PATCH] review fixes --- docs/src/test-parameterize-js.md | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/docs/src/test-parameterize-js.md b/docs/src/test-parameterize-js.md index 99c047e37f..0332872d78 100644 --- a/docs/src/test-parameterize-js.md +++ b/docs/src/test-parameterize-js.md @@ -22,7 +22,30 @@ You can either parameterize tests on a test level or on a project level. }); ``` -When looping over `before{Each,All}` or `after{Each,All}` hooks, they will be executed for every iteration, so in most cases, you should loop only over tests. +### Before and after hooks + +When looping over `before{Each,All}` or `after{Each,All}` hooks, they will be executed for every iteration, so in most cases, you should loop only over tests: + +```js title="example.spec.ts" +test.beforeEach(async ({ page }) => { + // ... +}); + +test.afterEach(async ({ page }) => { + // ... +}); + +[ + { name: 'Alice', expected: 'Hello, Alice!' }, + { name: 'Bob', expected: 'Hello, Bob!' }, + { name: 'Charlie', expected: 'Hello, Charlie!' }, +].forEach(({ name, expected }) => { + test(`testing with ${name}`, async ({ page }) => { + await page.goto(`/greet?name=${name}`); + await expect(page.getByRole('heading', { name })).toBeVisible(); + }) +}); +``` ## Parameterized Projects