Skip to content

feat(dotnet): support JUnit report format in record tests#1304

Open
Konboi wants to merge 2 commits into
mainfrom
feat/dotnet-junit-report-support
Open

feat(dotnet): support JUnit report format in record tests#1304
Konboi wants to merge 2 commits into
mainfrom
feat/dotnet-junit-report-support

Conversation

@Konboi
Copy link
Copy Markdown
Contributor

@Konboi Konboi commented May 25, 2026

Summary

  • Add a --format option to record tests dotnet (default junit) so reports produced by dotnet test --logger junit can be ingested directly.
  • Implement a JUnit path builder that produces the same Assembly -> TestSuite -> ... -> TestCase structure as the NUnit parser, so the subset output (FullyQualifiedName=...|...) keeps working with dotnet test --filter unchanged.
  • Trim TAB characters and percent-decode tokens from name / classname / <testsuite name>. Some custom dotnet JUnit emitters pack metadata into those fields with TAB separators and URL-encode characters such as \ (%5C) and : (%3A); normalizing this is required for the resulting paths to be valid filter expressions.

Test plan

  • uv run poe test tests/test_runners/test_dotnet.py — 6 tests pass (NUnit / JUnit / JUnit-with-metadata / invalid format / 2 subset cases)
  • uv run poe lint — clean
  • uv run poe type — no issues

🤖 Generated with Claude Code

Add `--format` option to `record tests dotnet` (default `junit`) and
implement a JUnit path builder that mirrors the NUnit structure
(Assembly -> TestSuite -> ... -> TestCase). Trim TAB characters and
percent-decode tokens so test paths produced by custom JUnit emitters
remain usable for `dotnet test --filter`.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@launchable-app

This comment has been minimized.

The path canonicalizer in case_event.py replaces `\` with `/` on Windows,
so a fixture containing `%5C` (decoded to `\`) produced a different golden
payload on Windows than on Linux/macOS. Replace it with a `%3A` (`:`)
sample that exercises the same percent-decode path without depending on
platform-specific path normalization.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant