diff --git a/__tests__/__outputs__/dart-json.md b/__tests__/__outputs__/dart-json.md
index 2b7ec09..faf3392 100644
--- a/__tests__/__outputs__/dart-json.md
+++ b/__tests__/__outputs__/dart-json.md
@@ -1,4 +1,5 @@
-
+[](#user-content-test-report)
+# Tests report
|Report|Passed|Failed|Skipped|Time|
|:---|---:|---:|---:|---:|
|[fixtures/dart-json.json](#user-content-r0)|1 ✅|4 ❌|1 ⚪|4s|
diff --git a/__tests__/__outputs__/dotnet-nunit.md b/__tests__/__outputs__/dotnet-nunit.md
index a0985f5..87f1316 100644
--- a/__tests__/__outputs__/dotnet-nunit.md
+++ b/__tests__/__outputs__/dotnet-nunit.md
@@ -1,4 +1,5 @@
-
+[](#user-content-test-report)
+# Tests report
|Report|Passed|Failed|Skipped|Time|
|:---|---:|---:|---:|---:|
|[fixtures/dotnet-nunit.xml](#user-content-r0)|3 ✅|5 ❌|1 ⚪|230ms|
diff --git a/__tests__/__outputs__/dotnet-trx.md b/__tests__/__outputs__/dotnet-trx.md
index 40bcaf2..69452e5 100644
--- a/__tests__/__outputs__/dotnet-trx.md
+++ b/__tests__/__outputs__/dotnet-trx.md
@@ -1,4 +1,5 @@
-
+[](#user-content-test-report)
+# Tests report
|Report|Passed|Failed|Skipped|Time|
|:---|---:|---:|---:|---:|
|[fixtures/dotnet-trx.trx](#user-content-r0)|5 ✅|5 ❌|1 ⚪|1s|
diff --git a/__tests__/__outputs__/fluent-validation-test-results.md b/__tests__/__outputs__/fluent-validation-test-results.md
index 83d0503..e718ffb 100644
--- a/__tests__/__outputs__/fluent-validation-test-results.md
+++ b/__tests__/__outputs__/fluent-validation-test-results.md
@@ -1,6 +1,7 @@
-
+[](#user-content-test-report)
Expand for details
+# Tests report
|Report|Passed|Failed|Skipped|Time|
|:---|---:|---:|---:|---:|
|[fixtures/external/FluentValidation.Tests.trx](#user-content-r0)|803 ✅||1 ⚪|4s|
diff --git a/__tests__/__outputs__/jest-junit-eslint.md b/__tests__/__outputs__/jest-junit-eslint.md
index 5ebb57e..70f2394 100644
--- a/__tests__/__outputs__/jest-junit-eslint.md
+++ b/__tests__/__outputs__/jest-junit-eslint.md
@@ -1,6 +1,7 @@
-
+[](#user-content-test-report)
Expand for details
+# Tests report
|Report|Passed|Failed|Skipped|Time|
|:---|---:|---:|---:|---:|
|[fixtures/jest-junit-eslint.xml](#user-content-r0)|1 ✅|||0ms|
diff --git a/__tests__/__outputs__/jest-junit.md b/__tests__/__outputs__/jest-junit.md
index 951256f..b038b8d 100644
--- a/__tests__/__outputs__/jest-junit.md
+++ b/__tests__/__outputs__/jest-junit.md
@@ -1,4 +1,5 @@
-
+[](#user-content-test-report)
+# Tests report
|Report|Passed|Failed|Skipped|Time|
|:---|---:|---:|---:|---:|
|[fixtures/jest-junit.xml](#user-content-r0)|1 ✅|4 ❌|1 ⚪|1s|
diff --git a/__tests__/__outputs__/jest-react-component-test-results.md b/__tests__/__outputs__/jest-react-component-test-results.md
index 1365818..44f0bb5 100644
--- a/__tests__/__outputs__/jest-react-component-test-results.md
+++ b/__tests__/__outputs__/jest-react-component-test-results.md
@@ -1,6 +1,7 @@
-
+[](#user-content-test-report)
Expand for details
+# Tests report
|Report|Passed|Failed|Skipped|Time|
|:---|---:|---:|---:|---:|
|[fixtures/external/jest/jest-react-component-test-results.xml](#user-content-r0)|1 ✅|||1000ms|
diff --git a/__tests__/__outputs__/jest-test-results.md b/__tests__/__outputs__/jest-test-results.md
index cfbc169..b009c3e 100644
--- a/__tests__/__outputs__/jest-test-results.md
+++ b/__tests__/__outputs__/jest-test-results.md
@@ -1,4 +1,5 @@
-
+[](#user-content-test-report)
+# Tests report
|Report|Passed|Failed|Skipped|Time|
|:---|---:|---:|---:|---:|
|[fixtures/external/jest/jest-test-results.xml](#user-content-r0)|4207 ✅|2 ❌|30 ⚪|166s|
diff --git a/__tests__/__outputs__/mocha-json.md b/__tests__/__outputs__/mocha-json.md
index 875f881..1dd50b0 100644
--- a/__tests__/__outputs__/mocha-json.md
+++ b/__tests__/__outputs__/mocha-json.md
@@ -1,4 +1,5 @@
-
+[](#user-content-test-report)
+# Tests report
|Report|Passed|Failed|Skipped|Time|
|:---|---:|---:|---:|---:|
|[fixtures/mocha-json.json](#user-content-r0)|1 ✅|4 ❌|1 ⚪|12ms|
diff --git a/__tests__/__outputs__/mocha-test-results.md b/__tests__/__outputs__/mocha-test-results.md
index 4a6e2f6..4af3dd5 100644
--- a/__tests__/__outputs__/mocha-test-results.md
+++ b/__tests__/__outputs__/mocha-test-results.md
@@ -1,6 +1,7 @@
-
+[](#user-content-test-report)
Expand for details
+# Tests report
|Report|Passed|Failed|Skipped|Time|
|:---|---:|---:|---:|---:|
|[fixtures/external/mocha/mocha-test-results.json](#user-content-r0)|833 ✅||6 ⚪|6s|
diff --git a/__tests__/__outputs__/provider-test-results.md b/__tests__/__outputs__/provider-test-results.md
index 172f070..7d167dd 100644
--- a/__tests__/__outputs__/provider-test-results.md
+++ b/__tests__/__outputs__/provider-test-results.md
@@ -1,4 +1,5 @@
-
+[](#user-content-test-report)
+# Tests report
|Report|Passed|Failed|Skipped|Time|
|:---|---:|---:|---:|---:|
|[fixtures/external/flutter/provider-test-results.json](#user-content-r0)|268 ✅|1 ❌||0ms|
diff --git a/__tests__/__outputs__/pulsar-test-results-no-merge.md b/__tests__/__outputs__/pulsar-test-results-no-merge.md
index de5a9b6..0446f42 100644
--- a/__tests__/__outputs__/pulsar-test-results-no-merge.md
+++ b/__tests__/__outputs__/pulsar-test-results-no-merge.md
@@ -1,4 +1,5 @@
-
+[](#user-content-test-report)
+# Tests report
|Report|Passed|Failed|Skipped|Time|
|:---|---:|---:|---:|---:|
|[fixtures/external/java/TEST-org.apache.pulsar.AddMissingPatchVersionTest.xml](#user-content-r0)||1 ❌|1 ⚪|116ms|
diff --git a/__tests__/__outputs__/pulsar-test-results.md b/__tests__/__outputs__/pulsar-test-results.md
index aaaa82e..b728e5d 100644
--- a/__tests__/__outputs__/pulsar-test-results.md
+++ b/__tests__/__outputs__/pulsar-test-results.md
@@ -1,4 +1,5 @@
-
+[](#user-content-test-report)
+# Tests report
|Report|Passed|Failed|Skipped|Time|
|:---|---:|---:|---:|---:|
|[fixtures/external/java/pulsar-test-report.xml](#user-content-r0)|793 ✅|1 ❌|14 ⚪|2127s|
diff --git a/__tests__/__outputs__/rspec-json.md b/__tests__/__outputs__/rspec-json.md
index d64cf44..02c5be9 100644
--- a/__tests__/__outputs__/rspec-json.md
+++ b/__tests__/__outputs__/rspec-json.md
@@ -1,4 +1,5 @@
-
+[](#user-content-test-report)
+# Tests report
|Report|Passed|Failed|Skipped|Time|
|:---|---:|---:|---:|---:|
|[fixtures/rspec-json.json](#user-content-r0)|1 ✅|1 ❌|1 ⚪|0ms|
diff --git a/__tests__/__outputs__/silent-notes-test-results.md b/__tests__/__outputs__/silent-notes-test-results.md
index e3abc49..927f7e2 100644
--- a/__tests__/__outputs__/silent-notes-test-results.md
+++ b/__tests__/__outputs__/silent-notes-test-results.md
@@ -1,6 +1,7 @@
-
+[](#user-content-test-report)
Expand for details
+# Tests report
|Report|Passed|Failed|Skipped|Time|
|:---|---:|---:|---:|---:|
|[fixtures/external/SilentNotes.trx](#user-content-r0)|67 ✅||12 ⚪|1s|
diff --git a/__tests__/__outputs__/swift-xunit.md b/__tests__/__outputs__/swift-xunit.md
index b001151..0ab448a 100644
--- a/__tests__/__outputs__/swift-xunit.md
+++ b/__tests__/__outputs__/swift-xunit.md
@@ -1,4 +1,5 @@
-
+[](#user-content-test-report)
+# Tests report
|Report|Passed|Failed|Skipped|Time|
|:---|---:|---:|---:|---:|
|[fixtures/swift-xunit.xml](#user-content-r0)|2 ✅|1 ❌||220ms|
diff --git a/dist/index.js b/dist/index.js
index 10200e5..2b80196 100644
--- a/dist/index.js
+++ b/dist/index.js
@@ -2023,7 +2023,7 @@ function getBadge(passed, failed, skipped, options) {
}
const hint = failed > 0 ? 'Tests failed' : 'Tests passed successfully';
const uri = encodeURIComponent(`${options.badgeTitle}-${message}-${color}`);
- return ``;
+ return `[](#user-content-test-report)`;
}
function getTestRunsReport(testRuns, options) {
const sections = [];
@@ -2032,6 +2032,7 @@ function getTestRunsReport(testRuns, options) {
sections.push(`Expand for details
`);
sections.push(` `);
}
+ sections.push('# Tests report');
if (testRuns.length > 0 || options.onlySummary) {
const tableData = testRuns
.map((tr, originalIndex) => ({ tr, originalIndex }))
diff --git a/src/report/get-report.ts b/src/report/get-report.ts
index 5ea44fe..e575aca 100644
--- a/src/report/get-report.ts
+++ b/src/report/get-report.ts
@@ -146,7 +146,7 @@ function getBadge(passed: number, failed: number, skipped: number, options: Repo
}
const hint = failed > 0 ? 'Tests failed' : 'Tests passed successfully'
const uri = encodeURIComponent(`${options.badgeTitle}-${message}-${color}`)
- return ``
+ return `[](#user-content-test-report)`
}
function getTestRunsReport(testRuns: TestRunResult[], options: ReportOptions): string[] {
@@ -157,6 +157,8 @@ function getTestRunsReport(testRuns: TestRunResult[], options: ReportOptions): s
sections.push(` `)
}
+ sections.push('# Tests report')
+
if (testRuns.length > 0 || options.onlySummary) {
const tableData = testRuns
.map((tr, originalIndex) => ({tr, originalIndex}))