◆ v1.0 — MIT Licensed

One report to
trace all your tests

SpecTracer takes your Gherkin feature files as the source of truth and collates Unit, Integration, and E2E test results into a single, self-contained HTML report. Tech-stack agnostic.

Why SpecTracer?

Modern teams test across multiple layers — but visibility is fragmented. SpecTracer brings everything together.

Fragmented Visibility

Unit, integration, and E2E tests live in different directories (or repos). There is no single view of overall coverage — until now.

Inverted Pyramids

Teams unknowingly accumulate slow E2E tests instead of fast unit tests. The pyramid dashboard makes it obvious at a glance.

No Traceability

Hard to know if a specific business scenario is tested across all necessary layers. SpecTracer flags missing coverage per scenario.

Tooling Lock-in

Most reporting tools are tied to one framework (Allure for Java, Cypress Dashboard for Cypress). SpecTracer works with any stack.

How It Works

Three steps from feature files to a rich HTML report.

1

Write Gherkin Feature Files

Define your scenarios in standard .feature files with tags like @FC-42 that link to test results. Declare required layers with @require-unit.

2

Run Your Tests

Use any test framework — pytest, Jest, Cypress, Behave, anything that produces JUnit XML or Cucumber JSON. SpecTracer doesn't care what language you use.

3

Generate the Report

Run uv run python build_pyramid.py. SpecTracer links tests to scenarios via shared tags and produces a single self-contained HTML report with five interactive sections.

Quick Start

Get a report generated in under a minute.

Install & run
# Clone and install
git clone https://github.com/ampyard/spec-tracer.git
cd spec-tracer
uv sync

# Run your tests with JUnit/Cucumber output
uv run pytest tests/unit --junitxml=reports/unit.xml
uv run pytest tests/integration --junitxml=reports/int.xml
uv run behave features/ --format json -o reports/e2e.json

# Generate the report
uv run python build_pyramid.py

# Open report.html in your browser
ℹ No CLI flags SpecTracer is configured entirely through a JSON file. Drop a spectracer.config.json at your project root and just run the tool — no flags needed.

What You Get

The generated report is a single self-contained HTML file with five sections.

Coverage Progress

The headline metric: Tested: X / Y (Z%). Per-feature breakdowns with green/amber/red thresholds. Designed for daily standups.

Test Pyramid

3-tier visualization of E2E / Integration / Unit with test counts, duration, and pass rates. Spot inverted pyramids instantly.

Feature Traceability

Searchable tree: Feature → Scenario → Layer results. Full Gherkin text, required layer status, and per-test pass/fail/skip.

Failure Breakdown

Every failed test across all layers with feature/scenario context and expandable stack traces. One place to triage everything.

Health Checks

Progress, pyramid ratio, and E2E runtime checks with configurable thresholds. Visual indicators that make team health obvious.

Unlinked Tests

Test results whose tags don't match any scenario. Catch orphaned or mis-tagged tests that would otherwise go unnoticed.

Trusted by the Team Behind It

SpecTracer dogfoods its own reports — it processes its own test outputs to generate a self-report. Every feature is validated with real Gherkin scenarios and E2E tests before it ships.

MIT License

Free to use, modify, and distribute. No restrictions.

Zero Infrastructure

Just a CLI run in CI producing a static HTML file. No databases, no servers, no setup.

Stack Agnostic

Works with Python, Java, JavaScript, Go, — anything that outputs JUnit XML or Cucumber JSON.