From 6a61db84f79df78ba5863499cb354c115970aea4 Mon Sep 17 00:00:00 2001 From: power246 <1686909216@qq.com> Date: Sun, 13 Sep 2026 11:32:24 +0800 Subject: [PATCH] fix(lab02): normalize Playwright validation path --- Lab/Lab02/src/testing/run-generated-tests.ts | 13 +++++++++---- Lab/Lab02/src/validation/run-validation.ts | 8 ++++++-- 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/Lab/Lab02/src/testing/run-generated-tests.ts b/Lab/Lab02/src/testing/run-generated-tests.ts index 918fadf..a56c97c 100644 --- a/Lab/Lab02/src/testing/run-generated-tests.ts +++ b/Lab/Lab02/src/testing/run-generated-tests.ts @@ -1,6 +1,6 @@ import { createRequire } from "node:module"; import { copyFile, mkdir, readFile, writeFile } from "node:fs/promises"; -import { dirname, join, resolve } from "node:path"; +import { dirname, join, relative, resolve } from "node:path"; import { fileURLToPath } from "node:url"; import { @@ -393,9 +393,14 @@ export async function runApiTrainTests( export async function runGuiTrainTests( options: GuiTestOptions, ): Promise { + const absoluteTestPath = resolve(options.testPath); + const playwrightTestPath = relative(projectRoot, absoluteTestPath).replaceAll( + "\\", + "/", + ); await copyFile( courseGuiTestSupport, - join(dirname(resolve(options.testPath)), "course-gui-test-support.ts"), + join(dirname(absoluteTestPath), "course-gui-test-support.ts"), ); const server = await startGuiServer({ htmlPath: options.htmlPath }); @@ -413,7 +418,7 @@ export async function runGuiTrainTests( [ playwrightCli, "test", - resolve(options.testPath), + playwrightTestPath, "--config", playwrightConfig, ...(excludedPattern === undefined @@ -424,7 +429,7 @@ export async function runGuiTrainTests( cwd: projectRoot, env: { COURSE_GUI_BASE_URL: server.url, - COURSE_TEST_DIR: dirname(resolve(options.testPath)), + COURSE_TEST_DIR: dirname(absoluteTestPath), COURSE_TEST_REPORT: resolve(options.reportPath), COURSE_TEST_OUTPUT: resolve(options.browserOutputPath), }, diff --git a/Lab/Lab02/src/validation/run-validation.ts b/Lab/Lab02/src/validation/run-validation.ts index 50bf645..6bf0c0f 100644 --- a/Lab/Lab02/src/validation/run-validation.ts +++ b/Lab/Lab02/src/validation/run-validation.ts @@ -1,6 +1,6 @@ import { createRequire } from "node:module"; import { mkdir, readFile, writeFile } from "node:fs/promises"; -import { dirname, join, resolve } from "node:path"; +import { dirname, join, relative, resolve } from "node:path"; import { fileURLToPath } from "node:url"; import { @@ -26,6 +26,10 @@ const playwrightCli = join( dirname(require.resolve("@playwright/test/package.json")), "cli.js", ); +const guiValidationSpec = relative( + projectRoot, + join(validationRoot, "gui", "register.validation.spec.ts"), +).replaceAll("\\", "/"); interface CommonValidationOptions { readonly reportPath: string; @@ -271,7 +275,7 @@ export async function runGuiValidation( [ playwrightCli, "test", - join(validationRoot, "gui", "register.validation.spec.ts"), + guiValidationSpec, "--config", join(validationRoot, "playwright.validation.config.ts"), ],