Buddy Code
Create account ↗
All tools
Free to use · No sign-up

JUnit report comparison

Compare two local test reports to find new and resolved failures, ambiguous identities and duration changes.

Compare two JUnit XML reports locally. Exact identities are matched; duplicates are kept ambiguous. Each report: 5 MB UTF-8 import, 10,000 cases. Logs and properties are omitted.

What it does

Compare two local test reports to find new and resolved failures, ambiguous identities and duration changes.

How to use it

  1. Paste or import previous and current JUnit XML reports, choose an identity policy, then compare.
  2. Filter changes and export Markdown or JSON. Duplicate identities are never paired by order; missing or skipped tests are not resolved failures.
  3. Processing stays in a local worker. No upload, CI connection or account required.

Example

Compare the two checkout examples: adds item becomes a new failure; removes item becomes a resolved failure.

Methodology

A streaming XML parser reads testcase records and nested suite paths. Exact suite/class/name or class/name keys group cases; duplicate keys are marked ambiguous. Failure/error to passed counts as resolved; timings are compared only when both durations are valid. Totals come from cases, not suite attributes.

Limitations

5 MB UTF-8 import / 5 million characters per report; 10,000 cases, 100,000 elements and 40 XML levels. DTDs/entities are rejected. Logs/properties are omitted and failure text is capped at 1,000 characters. No inferred renames, retries or parameter equivalence. 12-million-character JSON report and 30-second deadline. Exports can contain private test details.

Automation

This tool runs in your browser. No upload API or MCP endpoint is available.

View capabilities and documentation

Reference updated

Join the conversation

Helpful tips, questions, and ideas for making this tool better.

Loading discussion…