diff --git a/packages/vitest/src/node/reporters/junit.ts b/packages/vitest/src/node/reporters/junit.ts index 4083c9df9729..a9b918175623 100644 --- a/packages/vitest/src/node/reporters/junit.ts +++ b/packages/vitest/src/node/reporters/junit.ts @@ -131,7 +131,7 @@ export class JUnitReporter implements Reporter { for (const frame of stack) { const path = relative(this.ctx.config.root, frame.file) - await this.baseLog(` ${F_POINTER} ${[frame.method, `${path}:${frame.line}:${frame.column}`].filter(Boolean).join(' ')}`) + await this.baseLog(escapeXML(` ${F_POINTER} ${[frame.method, `${path}:${frame.line}:${frame.column}`].filter(Boolean).join(' ')}`)) // reached at test file, skip the follow stack if (frame.file in this.ctx.state.filesMap) diff --git a/test/reporters/src/data-for-junit.ts b/test/reporters/src/data-for-junit.ts index 0d6e667c8839..6595b3d5252e 100644 --- a/test/reporters/src/data-for-junit.ts +++ b/test/reporters/src/data-for-junit.ts @@ -28,6 +28,7 @@ function createSuiteHavingFailedTestWithXmlInError(): File[] { errorWithXml.stack = 'Error: error message that has XML in it \n' + ' at /vitest/test/core/test/basic.test.ts:8:32\n' + + ' at /vitest/test/core/test/.ts:3:11\n' + ' at etc....' const tasks: Task[] = [ diff --git a/test/reporters/tests/__snapshots__/html.test.ts.snap b/test/reporters/tests/__snapshots__/html.test.ts.snap index 49db8c36242b..43801f9c5937 100644 --- a/test/reporters/tests/__snapshots__/html.test.ts.snap +++ b/test/reporters/tests/__snapshots__/html.test.ts.snap @@ -1,4 +1,4 @@ -// Vitest Snapshot v1 +// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html exports[`html reporter > resolves to "failing" status for test file "json-fail" > tests are failing 1`] = ` { diff --git a/test/reporters/tests/__snapshots__/json.test.ts.snap b/test/reporters/tests/__snapshots__/json.test.ts.snap index 565b068bc9b6..db3d630ef28a 100644 --- a/test/reporters/tests/__snapshots__/json.test.ts.snap +++ b/test/reporters/tests/__snapshots__/json.test.ts.snap @@ -1,4 +1,4 @@ -// Vitest Snapshot v1 +// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html exports[`json reporter > generates correct report 1`] = ` { diff --git a/test/reporters/tests/__snapshots__/reporters.spec.ts.snap b/test/reporters/tests/__snapshots__/reporters.spec.ts.snap index 6ec2907cdcb3..6e8e5a5f0d90 100644 --- a/test/reporters/tests/__snapshots__/reporters.spec.ts.snap +++ b/test/reporters/tests/__snapshots__/reporters.spec.ts.snap @@ -1,4 +1,4 @@ -// Vitest Snapshot v1 +// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html exports[`JUnit reporter (no outputFile entry) 1`] = ` " @@ -249,6 +249,7 @@ exports[`JUnit reporter with outputFile with XML in error message 2`] = ` AssertionError: error message that has XML in it <tag> ❯ test/core/test/basic.test.ts:8:32 + ❯ test/core/test/<bracket-name>.ts:3:11