JUnit viewer for VSCode
  • TypeScript 72.4%
  • CSS 20.9%
  • JavaScript 3.2%
  • Nix 1.8%
  • Just 1.7%
Find a file
2026-07-29 06:30:51 +08:00
.vscode feat: add CSP meta tag, separate CSS from JS bundle 2026-05-28 08:00:48 +00:00
assets docs: readme 2026-05-28 17:01:25 +08:00
examples chore: readme, cleanup 2026-05-28 17:18:39 +08:00
l10n feat: register custom readonly editor (priority: option) for *.xml files 2026-05-28 08:30:17 +00:00
resources logo: report icon 2026-05-28 08:22:49 +00:00
scripts chore: switch to Apache 2.0, add SPDX headers, english README 2026-05-28 08:52:21 +00:00
src chore: readme, cleanup 2026-05-28 17:18:39 +08:00
.envrc update 2026-05-28 12:27:56 +08:00
.gitignore refactor: typescript 2026-05-28 15:46:47 +08:00
.vscodeignore chore: switch to Apache 2.0, add SPDX headers, english README 2026-05-28 08:52:21 +00:00
.yarnrc.yml feat: initial JUnit Viewer VS Code extension 2026-05-28 04:27:03 +00:00
AGENTS.md chore: add pre-completion git status check rule to AGENTS.md 2026-05-28 06:37:16 +00:00
devenv.lock update 2026-05-28 12:27:56 +08:00
devenv.nix fix: replace SVG icon with PNG, add librsvg to devenv 2026-05-28 07:02:36 +00:00
devenv.yaml update 2026-05-28 12:27:56 +08:00
justfile feat: 使用 SolidJS + VS Code 原生 CSS 变量重写 webview,添加智能格式检测 2026-05-28 07:38:20 +00:00
LICENSE chore: switch to Apache 2.0, add SPDX headers, english README 2026-05-28 08:52:21 +00:00
package.json chore: migrate repository links to self-hosted Forgejo 2026-07-29 06:30:51 +08:00
package.nls.json feat: register custom readonly editor (priority: option) for *.xml files 2026-05-28 08:30:17 +00:00
package.nls.zh-cn.json feat: register custom readonly editor (priority: option) for *.xml files 2026-05-28 08:30:17 +00:00
README.md chore: migrate repository links to self-hosted Forgejo 2026-07-29 06:30:51 +08:00
tsconfig.extension.json refactor: typescript 2026-05-28 15:46:47 +08:00
tsconfig.json refactor: typescript 2026-05-28 15:46:47 +08:00
tsconfig.webview.json refactor: typescript 2026-05-28 15:46:47 +08:00
yarn.lock feat: 使用 SolidJS + VS Code 原生 CSS 变量重写 webview,添加智能格式检测 2026-05-28 07:38:20 +00:00

JUnit Viewer Logo

JUnit Viewer for VSCode

Forgejo Forgejo Stars License

⚠️ Warning

This extension is mostly AI-generated. Use with caution.

A rich JUnit XML test result viewer for VS Code. Open any JUnit-style .xml report and instantly browse its suites, test cases, failures, and stack traces through an interactive UI — right inside your editor.

Screenshot

Features

  • Custom Editor — Open .xml files as formatted JUnit reports with the Open With → JUnit Report Viewer command
  • Rich Test Details — Class name, method name, execution time, status, failure message, and full stack traces
  • Suite Grouping — Test cases are grouped by their parent <testsuite>
  • Pass / Fail Filter — One-click toggle to show or hide passing tests
  • File Watching — Automatically refreshes the report when the underlying XML file changes

Installation

From VSIX

# Build and package
just package

# Install in VS Code
code --install-extension dist/junit-viewer-*.vsix

Development

Press F5 to launch the Extension Development Host and try the extension in a sandboxed VS Code window.

Usage

Opening a JUnit XML Report

  • Explorer context menu — Right-click a .xml file → View as JUnit Report
  • Editor title button — Click the JUnit-Report icon while viewing any XML file
  • Command PaletteCtrl+Shift+POpen JUnit XML File…
  • Custom editorOpen With → JUnit Report Viewer on any .xml file
  • Auto-detect — Opening a JUnit-formatted XML file loads it automatically

Supported JUnit XML Formats

<!-- Format 1: <testsuites> wrapping multiple <testsuite> elements -->
<testsuites>
  <testsuite errors="0" failures="1" name="MySuite" tests="3" time="1.234">
    <testcase classname="com.example.Test" name="testFoo" time="0.123"/>
    <testcase classname="com.example.Test" name="testBar" time="0.456">
      <failure message="expected 1 but got 2" type="AssertionError">
        at com.example.Test.testBar(Test.java:42)
      </failure>
    </testcase>
  </testsuite>
</testsuites>

<!-- Format 2: standalone <testsuite> root element -->
<testsuite errors="0" failures="0" name="MySuite" tests="1" time="0.123">
  <testcase classname="com.example.Test" name="testFoo" time="0.123"/>
</testsuite>

Tech Stack

  • TypeScript — Both the extension host and the webview
  • SolidJS — Reactive UI framework for the webview
  • esbuild — Fast bundler with SolidJS JSX plugin
  • fast-xml-parser — XML parsing with attribute-aware mode

Development

Prerequisites

  • Nix with flakes + devenv, or Node.js 20+ with Yarn Berry (non-PnP mode)

Quick Start

# Enter the development environment
devenv shell

# Install dependencies
yarn install

# Development build with watch mode
just watch

# Type-check only
just check

# Production build
just build

# Package as .vsix
just package

License

Apache 2.0