Skip to content

Java Test Runner

issuelens[bot] edited this page Sep 24, 2026 · 9 revisions

Java Test Runner

Integration-test environment and diagnostics

These details concern the integration-test harness in microsoft/vscode-java-test, not settings imposed on users' test projects.

  • Dedicated VS Code user data: test/index.ts::main creates .vscode-test/user-data/User under the repository and writes settings.json before its two runTests calls. Both the Maven/JUnit workspace suite and unmanaged-folder suite receive the same directory through --user-data-dir; this is a shared test profile, not a fresh profile per suite. [1]
  • AI features disabled for test launches: that settings file sets chat.disableAIFeatures to true. Both launches also pass --disable-extension for GitHub.copilot-chat and TypeScriptTeam.jsts-chat-features. [1]
  • Explicit language-server Java selection: when JAVA_HOME is nonempty, the generated settings include java.jdt.ls.java.home with that value. The Linux, Windows, and macOS CI jobs install Temurin JDK 25 (replacing 21). This records the CI runtime choice, not a minimum Java target for users' projects. [1][2]
  • Failure-log location: all three CI jobs collect JDT language-server logs from .vscode-test/user-data/User/workspaceStorage/*/redhat.java/jdt_ws/.metadata/.log on failure, rather than the normal OS-specific VS Code user-data location. Use the test-profile path when investigating these integration runs. [2]

Evidence and scope

Verified against merged source commit 7e2584d2d44804999c3d06a2605e9352782d7e6b in PR #1937. Both changed files were inspected; their main file blobs matched the merged revision at maintenance time. This documents harness configuration, not a verified successful CI run or a release/deployment claim.

  1. test/index.ts, main and both runTests calls.
  2. .github/workflows/build.yml, linux, windows, and darwin jobs.

Clone this wiki locally