Skip to content

Conversation

@thomhurst
Copy link
Owner

This PR contains the following updates:

Package Type Update Change
Microsoft.NET.Test.Sdk nuget major 17.14.1 -> 18.0.0

Release Notes

microsoft/vstest (Microsoft.NET.Test.Sdk)

v18.0.0

What's Changed
Internal fixes and updates
New Contributors

Full Changelog: microsoft/vstest@v17.14.1...v18.0.0


Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Enabled.

Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

@thomhurst thomhurst added dependencies Pull requests that update a dependency file MAJOR renovate-bot labels Oct 2, 2025
@thomhurst thomhurst enabled auto-merge (squash) October 2, 2025 08:30
@claude
Copy link
Contributor

claude bot commented Oct 2, 2025

Claude finished @thomhurst's task —— View job


PR Review: Microsoft.NET.Test.Sdk v18 Update

Todo List

  • Read the changed file to understand the update
  • Review TUnit's dependency usage and architecture
  • Analyze release notes for breaking changes
  • Provide comprehensive review feedback

Review Summary

⚠️ RECOMMENDATION: Consider removing this dependency entirely

This PR updates Microsoft.NET.Test.Sdk from v17.14.1 to v18.0.0, but based on my analysis of the TUnit codebase, this dependency appears to be unnecessary and potentially conflicting with TUnit's architecture.

Key Findings

1. Architectural Mismatch

  • TUnit uses Microsoft.Testing.Platform (MTP), not VSTest infrastructure
  • The CLAUDE.md explicitly states: "Use Microsoft.Testing.Platform, never VSTest"
  • TUnit.Engine.csproj only references Microsoft.Testing.Platform packages
  • The main TUnit framework doesn't use Microsoft.NET.Test.Sdk at all

2. Limited Usage Scope

The dependency is only used in:

  • Speed comparison tests (tools/speed-comparison/UnifiedTests/UnifiedTests.csproj:27,37,44) - only for xUnit, NUnit, and MSTest comparison scenarios, NOT for TUnit itself
  • Documentation - mentioned in troubleshooting guides for other frameworks

3. Breaking Changes in v18.0.0

Major version bump indicates potential breaking changes:

  • Removal of tpv0 (Test Platform version 0)
  • ARM64 architecture support changes
  • Test host handling modifications
  • Environment variable handling updates

Security & Quality Assessment

Code Quality: Good

  • Clean, simple version bump in centralized package management
  • Proper use of Directory.Packages.props for version management

Security: No concerns

  • Official Microsoft package from trusted source
  • No security vulnerabilities identified in release notes

⚠️ Performance Considerations

  • Unnecessary dependency increases attack surface
  • Additional package weight for limited use case
  • Potential version conflicts with MTP ecosystem

Recommendations

Option 1: Remove the dependency (Preferred)

<PackageReference Include="Microsoft.NET.Test.Sdk" Version="18.0.0" />
  • Align with TUnit's MTP-first architecture
  • Reduce unnecessary dependencies
  • Speed comparison tests can use local/conditional references

Option 2: Accept the update

If keeping for speed comparison tests:

  • ✅ Update is safe from compatibility perspective
  • ✅ No breaking changes affect the limited usage scope
  • ⚠️ Conflicts with stated architectural principles

Test Coverage Impact

  • No impact on TUnit's core functionality - TUnit doesn't use this package
  • Speed comparison tests should continue working (they target other frameworks)
  • Consider adding integration tests to verify benchmark scenarios still work

Conclusion

This dependency update is technically safe but architecturally questionable. The fact that TUnit's core engine doesn't reference this package suggests it's legacy cruft that should be removed rather than updated.

Verdict: APPROVE with strong recommendation to follow up with dependency removal

@thomhurst thomhurst merged commit 203e6b6 into main Oct 2, 2025
13 checks passed
@thomhurst thomhurst deleted the renovate/microsoft.net.test.sdk-18.x branch October 2, 2025 08:50
This was referenced Oct 2, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file MAJOR renovate-bot

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants