Test Prism is a unified test result parser and visualization dashboard. It provides a high-performance Rust-based CLI to normalize various test reports into a standard JSON format, and a modern Angular dashboard to visualize the results.
The goal is to provide a clear, interactive, and insightful view into your test execution cycles, helping you identify failures, track performance, and understand trends.
- Universal Parser: A powerful Rust CLI that converts test reports from JUnit, Vitest, and Jest into a standardized JSON format.
- Interactive Dashboard: A modern Angular UI to explore test results, with features like:
- High-level summary charts.
- Hierarchical test tree navigation.
- Detailed failure analysis with error logs.
- Containerized & Shareable: Package your test reports into self-contained Docker images for easy sharing and deployment.
For detailed information on how to use the dashboard, display your test results, and contribute to the project, please see our full documentation:
View Documentation on GitHub Pages
Use the Rust CLI to parse a supported report file.
# Parse a JUnit XML file
cargo run -- parse --report-type junit --input /path/to/report.xml --output test-results.json
# Parse a Jest JSON report
cargo run -- parse --report-type jest --input /path/to/jest-report.json --output test-results.jsonCreate a Dockerfile to bundle the generated test-results.json with the UI.
FROM andreitimar/test-prism:ui-latest
COPY app-config.json /usr/share/nginx/html/app-config.json
COPY layout.json /usr/share/nginx/html/layout.json
COPY test-results.json /usr/share/nginx/html/test-results.jsonBuild and run the container:
docker build -t my-test-report .
docker run -p 8080:80 my-test-reportNavigate to http://localhost:8080 to see your report.
This project is licensed under the Apache-2.0 License.
