Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: thomhurst/TUnit
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v1.49.0
Choose a base ref
...
head repository: thomhurst/TUnit
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v1.50.0
Choose a head ref
  • 5 commits
  • 105 files changed
  • 1 contributor

Commits on Jun 4, 2026

  1. Configuration menu
    Copy the full SHA
    5d85a7e View commit details
    Browse the repository at this point in the history

Commits on Jun 5, 2026

  1. Configuration menu
    Copy the full SHA
    3c3ff4c View commit details
    Browse the repository at this point in the history
  2. fix(analyzers): decouple code fixers from Rules to prevent MissingFie…

    …ldException in VS (#6158)
    
    * fix(analyzers): decouple code fixers from Rules to prevent MissingFieldException in VS (#6157)
    
    Code fixer assemblies ship in the version-agnostic analyzers/dotnet/cs
    folder and resolve their analyzer-assembly dependency at runtime by
    simple name. Visual Studio cannot unload analyzer assemblies, so after
    a package update (or with mixed TUnit versions in one session) the new
    code fixers can bind against a stale TUnit.Analyzers.dll. The eagerly
    evaluated FixableDiagnosticIds then JITs a field reference to
    Rules.MSTestMigration / Rules.NUnitMigration, which the stale assembly
    does not contain, throwing MissingFieldException on every lightbulb
    pass.
    
    Fix: introduce DiagnosticIds const classes (compile-time baked into
    consuming IL) and remove every Rules reference from both code fixer
    assemblies. Add IL-level regression tests asserting the built code
    fixer dlls contain no TypeReference to Rules.
    
    * refactor: consolidate IL decoupling guard, cover AspNetCore codefixer, address review
    
    - Extract duplicated PEReader scan into SharedTestHelpers/RulesDecouplingVerifier
      (linked into all three codefixer test projects)
    - Cover the third vulnerable codefixer family: TUnit.AspNetCore.Analyzers gets
      DiagnosticIds consts + IL guard test (same #6157 pattern, was missed)
    - Verifier also flags DiagnosticIds type refs so const -> static readonly drift
      fails the test (review feedback)
    - Add missing readonly on InstanceTestMethod / MatrixDataSourceAttributeRequired
    - Collapse the repeated rationale doc comment to one canonical home
    
    * docs: note pre-existing TUnit0062 ID collision with TUnit.Analyzers
    
    Surfaced by review on #6158; renumbering is user-facing and tracked
    separately.
    thomhurst authored Jun 5, 2026
    Configuration menu
    Copy the full SHA
    fc237a8 View commit details
    Browse the repository at this point in the history
  3. Fix mock wrappers for indexers and generic methods (#6163)

    * Fix indexer interface mock wrappers
    
    * fix(mocks): generate generic call wrappers
    
    * test(mocks): cover typed returns arities
    
    * fix(mocks): guard indexer return metadata
    
    * fix(mocks): keep verification helper internal
    thomhurst authored Jun 5, 2026
    Configuration menu
    Copy the full SHA
    72fde3d View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    8f6d82a View commit details
    Browse the repository at this point in the history
Loading