Skip to content

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Aug 4, 2025

This PR contains the following updates:

Package Change Age Confidence
TUnit 0.25.21 -> 0.57.24 age confidence
TUnit.Core 0.25.21 -> 0.57.24 age confidence

Release Notes

thomhurst/TUnit (TUnit)

v0.57.24: 0.57.24

What's Changed

🏕 Changes
👒 Dependencies

Full Changelog: thomhurst/TUnit@v0.57.1...v0.57.24

v0.57.1: 0.57.1

What's Changed

🏕 Changes
  • Add Browser platform support to OS enum and RunOn/ExcludeOn attributes with WebAssembly compatibility fixes by @​Copilot in #​2965

Full Changelog: thomhurst/TUnit@v0.57.0...v0.57.1

v0.57.0: 0.57.0

What's Changed
🏕 Changes
  • Fix analyzer to skip required keyword enforcement for Attribute class properties by @​Copilot in #​2981
  • Fix open generic type generation causing compilation errors in assembly attributes by @​Copilot in #​2973
  • Fix shared instance disposal using ObjectTracker reference counting at registration time by @​Copilot in #​2977
👒 Dependencies

Full Changelog: thomhurst/TUnit@v0.56.50...v0.57.0

v0.56.50: 0.56.50

What's Changed
🏕 Changes
👒 Dependencies
New Contributors

Full Changelog: thomhurst/TUnit@v0.56.44...v0.56.50

v0.56.44: 0.56.44

What's Changed
🏕 Changes
  • Fix test discovery intermittent hanging issues in reflection mode by @​thomhurst in #​2932
  • Fix SkipTestException handling to properly mark tests as skipped by @​Copilot in #​2907
  • Fix generic inheritance dependency matching for DependsOn attributes by @​Copilot in #​2899
  • Fix disposal issue: ensure TestContext OnDispose events are triggered after test completion by @​Copilot in #​2925
  • Fix deadlock in BufferedTextWriter caused by nested locking by @​thomhurst in #​2944
  • Fix first event receiver thread safety using GetOnlyDictionary + Task pattern by @​Copilot in #​2917
👒 Dependencies

Full Changelog: thomhurst/TUnit@v0.56.35...v0.56.44

v0.56.35: 0.56.35

What's Changed
🏕 Changes
👒 Dependencies

Full Changelog: thomhurst/TUnit@v0.56.5...v0.56.35

v0.56.5: 0.56.5

What's Changed
🏕 Changes
👒 Dependencies

Full Changelog: thomhurst/TUnit@v0.55.23...v0.56.5

v0.55.23: 0.55.23

What's Changed
🏕 Changes

Full Changelog: thomhurst/TUnit@v0.55.21...v0.55.23

v0.55.21: 0.55.21

What's Changed
🏕 Changes
  • Fix DisplayName parameter substitution for prefixed variable names by @​Copilot in #​2886
  • Fix race condition in pure reference counting object disposal system by @​Copilot in #​2868
  • Add analyzer warning for test method with tuple parameter and tuple data source mismatch by @​Copilot in #​2864
👒 Dependencies

Full Changelog: thomhurst/TUnit@v0.55.6...v0.55.21

v0.55.6: 0.55.6

What's Changed
🏕 Changes
👒 Dependencies

Full Changelog: thomhurst/TUnit@v0.55.0...v0.55.6

v0.55.0: 0.55.0

What's Changed
🏕 Changes
👒 Dependencies
New Contributors

Full Changelog: thomhurst/TUnit@v0.53.0...v0.55.0

v0.53.0: 0.53.0

What's Changed
🏕 Changes
👒 Dependencies

Full Changelog: thomhurst/TUnit@v0.52.64...v0.53.0

v0.52.64: 0.52.64

What's Changed
🏕 Changes
👒 Dependencies

Full Changelog: thomhurst/TUnit@v0.52.60...v0.52.64

v0.52.60: 0.52.60

What's Changed
🏕 Changes
👒 Dependencies

Full Changelog: thomhurst/TUnit@v0.52.56...v0.52.60

v0.52.56: 0.52.56

What's Changed
🏕 Changes
👒 Dependencies

Full Changelog: thomhurst/TUnit@v0.52.51...v0.52.56

v0.52.51: 0.52.51

What's Changed
🏕 Changes
  • Fix missing namespace issues in TestMetadataGenerator generated code by @​Copilot in #​2814
👒 Dependencies

Full Changelog: thomhurst/TUnit@v0.52.49...v0.52.51

v0.52.49: 0.52.49

What's Changed
🏕 Changes
  • Fix source generated code indentation by properly handling CodeWriter initialization and multi-line object assignments by @​Copilot in #​2807
  • feat: Add parallel initialization for injected properties at the same level by @​thomhurst in #​2811

Full Changelog: thomhurst/TUnit@v0.52.47...v0.52.49

v0.52.47: 0.52.47

What's Changed
🏕 Changes
  • Allow DisplayNameAttribute on classes with parameter substitution support by @​Copilot in #​2705
  • Make MappableResultAssertionBuilder constructors public for third-party extensibility by @​Copilot in #​2719
  • Fix params array argument handling in source generator by @​Copilot in #​2789
  • Tidy up analyzer releases: improve organization, documentation, and merge main branch by @​Copilot in #​2712
  • Add support for TUNIT_DISABLE_GITHUB_REPORTER environment variable by @​Copilot in #​2716
  • Fix TUnit0001 analyzer to use ITypedDataSourceAttribute interface detection by @​Copilot in #​2803
  • Fix DependsOn tests to be skipped instead of failed when dependencies fail by @​Copilot in #​2706
  • Fix missing --detailed-stacktrace option since v0.50.0 by @​Copilot in #​2808
👒 Dependencies

Full Changelog: thomhurst/TUnit@v0.52.30...v0.52.47

v0.52.30: 0.52.30

What's Changed
🏕 Changes
👒 Dependencies

Full Changelog: thomhurst/TUnit@v0.52.25...v0.52.30

v0.52.25: 0.52.25

What's Changed
🏕 Changes
  • Fix NotInParallel Order property not being respected for class-level attributes by @​Copilot in #​2790

Full Changelog: thomhurst/TUnit@v0.52.24...v0.52.25

v0.52.24: 0.52.24

What's Changed
🏕 Changes
👒 Dependencies

Full Changelog: thomhurst/TUnit@v0.52.22...v0.52.24

v0.52.22: 0.52.22

What's Changed
🏕 Changes
👒 Dependencies

Full Changelog: thomhurst/TUnit@v0.52.8...v0.52.22

v0.52.8: 0.52.8

What's Changed
🏕 Changes
👒 Dependencies

Full Changelog: thomhurst/TUnit@v0.52.0...v0.52.8

v0.52.0: 0.52.0

What's Changed
🏕 Changes
👒 Dependencies

Full Changelog: thomhurst/TUnit@v0.50.0...v0.52.0

v0.50.0: 0.50.0

Apologies for the delay. This PR has taken a lot longer than anticipated.

It involves a lot of refactoring and rewriting of some core logic. So if I've knocked anything out, apologies, and raise an issue with a reproduceable example please!

There are a bunch of breaking changes in this release, so apologies in advance!
These include:

  • Needing to amend signatures for custom data source attributes
  • The SourceGenerated[Type]Information types have been renamed to [Type]Metadata.

This change does include some new features for any advanced users.

  • Improved automatic object lifecycle tracking.

  • A new Priority attribute, to prioritise running certain tests first. This can be combined with --fail-fast to terminate test runs quicker on failures.

  • One is Asynchronous data sources! I'd advise to be careful with these, as they could dramatically slow down discovery. But you can now use asynchronous APIs to generate data sources for your tests.

  • And the one I'm excited about most, is nested property injection (with initialization). This can allow for some advanced test orchestration with relatively simple code, and TUnit will handle all the advanced bits for you like initialization and object lifetimes!

Here's some pseudo-code:

public class InMemorySql : IAsyncInitializer, IAsyncDisposable
{
    public async Task InitializeAsync()
    {
        await Container.StartAsync();
    }

    public async ValueTask DisposeAsync()
    {
        await Container.DisposeAsync();
    }
}

public class InMemoryRedis : IAsyncInitializer, IAsyncDisposable
{
    public async Task InitializeAsync()
    {
        await Container.StartAsync();
    }

    public async ValueTask DisposeAsync()
    {
        await Container.DisposeAsync();
    }
}

public class InMemoryMessageBus : IAsyncInitializer, IAsyncDisposable
{
    public async Task InitializeAsync()
    {
        await Container.StartAsync();
    }

    public async ValueTask DisposeAsync()
    {
        await Container.DisposeAsync();
    }
}

public class MessageBusUserInterface : IAsyncInitializer, IAsyncDisposable
{
    [ClassDataSource<InMemoryMessageBus>(Shared = SharedType.PerTestSession)]
    public required InMemoryMessageBus MessageBus { get; init; }

    public async Task InitializeAsync()
    {
        Container = new MessageBusUIContainerBuilder()
                        .WithConnectionString(MessageBus.Container.GetConnectionString())
                        .Build();

        await Container.StartAsync();
    }

    public async ValueTask DisposeAsync()
    {
        await Container.DisposeAsync();
    }
}

public class InMemoryWebApplicationFactory : WebApplicationFactory<Program>, IAsyncInitializer
{
    [ClassDataSource<InMemorySql>(Shared = SharedType.PerTestSession)]
    public required InMemorySql Sql { get; init; }

    [ClassDataSource<InMemoryRedis>(Shared = SharedType.PerTestSession)]
    public required InMemoryRedis Redis { get; init; }

    [ClassDataSource<InMemoryMessageBus>(Shared = SharedType.PerTestSession)]
    public required InMemoryMessageBus MessageBus { get; init; }

    public Task InitializeAsync()
    {
        _ = Server;

        return Task.CompletedTask;
    }

    protected override void ConfigureWebHost(IWebHostBuilder builder)
    {
        builder.ConfigureAppConfiguration((context, configBuilder) =>
        {
            configBuilder.AddInMemoryCollection(new Dictionary<string, string?>
            {
                { "MessageBus:ConnectionString", MessageBus.Container.GetConnectionString() },
                { "Redis:ConnectionString", Redis.Container.GetConnectionString() },
                { "PostgreSql:ConnectionString", Sql.Container.GetConnectionString() }
            });
        });
    }
}

public class Tests
{
    [ClassDataSource<InMemoryWebApplicationFactory>]
    public required InMemoryWebApplicationFactory WebApplicationFactory { get; init; }

}

As you can see, you can inject objects into other objects created via data sources. Such as injecting in the message bus into the message bus UI class. And then all the third-party test infrastructure into our WebApplicationFactory. And TUnit manages doing this just before your test starts, initialising anything in order, and disposing of objects when they're finished with.
As you can see, this makes orchestration a lot simpler. This means less time fiddling about with set ups, and more time for writing tests!

Enjoy!

What's Changed
🏕 Changes
👒 Dependencies

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 these updates again.


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

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate bot added the 🚚 private-dependencies Private dependency label Aug 4, 2025
@renovate renovate bot enabled auto-merge (squash) August 4, 2025 00:49
@github-actions github-actions bot added the :shipit: merge Shipit! label Aug 4, 2025
@github-actions github-actions bot added this to the v9.0.6 milestone Aug 4, 2025
Copy link

github-actions bot commented Aug 4, 2025

Test Results

0 files   -   6  0 suites   - 6   0s ⏱️ - 1m 9s
0 tests  - 150  0 ✅  - 150  0 💤 ±0  0 ❌ ±0 
0 runs   - 300  0 ✅  - 300  0 💤 ±0  0 ❌ ±0 

Results for commit 8e2590a. ± Comparison against base commit aa37223.

♻️ This comment has been updated with latest results.

@renovate renovate bot force-pushed the renovate/tunit branch from fc5aade to 91b98e8 Compare August 6, 2025 01:54
@renovate renovate bot changed the title Update TUnit to 0.50.0 Update TUnit to 0.52.2 Aug 6, 2025
@renovate renovate bot force-pushed the renovate/tunit branch 2 times, most recently from 825feed to 8bc100a Compare August 6, 2025 03:04
@renovate renovate bot changed the title Update TUnit to 0.52.2 Update TUnit to 0.52.8 Aug 6, 2025
@renovate renovate bot force-pushed the renovate/tunit branch from 8bc100a to 34dcbba Compare August 6, 2025 11:58
@renovate renovate bot changed the title Update TUnit to 0.52.8 Update TUnit to 0.52.22 Aug 6, 2025
@renovate renovate bot force-pushed the renovate/tunit branch from 34dcbba to 65ac967 Compare August 6, 2025 15:10
@renovate renovate bot changed the title Update TUnit to 0.52.22 Update TUnit Aug 6, 2025
@renovate renovate bot force-pushed the renovate/tunit branch from 65ac967 to 31c0be9 Compare August 6, 2025 15:14
@renovate renovate bot changed the title Update TUnit Update TUnit to 0.52.24 Aug 6, 2025
@renovate renovate bot force-pushed the renovate/tunit branch from 31c0be9 to 73e5fbc Compare August 6, 2025 15:58
@renovate renovate bot changed the title Update TUnit to 0.52.24 Update TUnit Aug 6, 2025
@renovate renovate bot force-pushed the renovate/tunit branch from 73e5fbc to 5bd7573 Compare August 6, 2025 16:01
@renovate renovate bot changed the title Update TUnit Update TUnit to 0.52.25 Aug 6, 2025
@renovate renovate bot force-pushed the renovate/tunit branch from 5bd7573 to 51207a3 Compare August 6, 2025 19:28
@renovate renovate bot changed the title Update TUnit to 0.52.25 Update TUnit to 0.52.30 Aug 6, 2025
@renovate renovate bot force-pushed the renovate/tunit branch from 51207a3 to 8b4319c Compare August 7, 2025 00:54
@renovate renovate bot changed the title Update TUnit to 0.52.30 Update TUnit to 0.52.47 Aug 7, 2025
@renovate renovate bot force-pushed the renovate/tunit branch from 8b4319c to 2ac0bd2 Compare August 7, 2025 01:49
@renovate renovate bot changed the title Update TUnit to 0.52.47 Update TUnit to 0.52.49 Aug 7, 2025
@renovate renovate bot force-pushed the renovate/tunit branch from 2ac0bd2 to 2999d2e Compare August 7, 2025 09:39
@renovate renovate bot changed the title Update TUnit to 0.52.49 Update TUnit to 0.52.51 Aug 7, 2025
@renovate renovate bot force-pushed the renovate/tunit branch from 2999d2e to 4aa15aa Compare August 7, 2025 14:01
@renovate renovate bot changed the title Update TUnit to 0.52.51 Update TUnit Aug 7, 2025
@renovate renovate bot changed the title Update TUnit to 0.53.0 Update TUnit to 0.55.0 Aug 11, 2025
@renovate renovate bot force-pushed the renovate/tunit branch from a353a90 to fad65c9 Compare August 12, 2025 06:53
@renovate renovate bot changed the title Update TUnit to 0.55.0 Update TUnit to 0.55.6 Aug 12, 2025
@renovate renovate bot force-pushed the renovate/tunit branch 2 times, most recently from b3993ea to 30595e5 Compare August 13, 2025 20:26
@renovate renovate bot changed the title Update TUnit to 0.55.6 Update TUnit to 0.55.21 Aug 13, 2025
@renovate renovate bot force-pushed the renovate/tunit branch from 30595e5 to f15ad5b Compare August 13, 2025 20:58
@renovate renovate bot changed the title Update TUnit to 0.55.21 Update TUnit Aug 13, 2025
@renovate renovate bot force-pushed the renovate/tunit branch from f15ad5b to 9da870a Compare August 13, 2025 21:01
@renovate renovate bot changed the title Update TUnit Update TUnit to 0.55.23 Aug 13, 2025
@renovate renovate bot force-pushed the renovate/tunit branch from 9da870a to 0969125 Compare August 14, 2025 21:07
@renovate renovate bot changed the title Update TUnit to 0.55.23 Update TUnit to 0.56.5 Aug 14, 2025
@renovate renovate bot force-pushed the renovate/tunit branch 3 times, most recently from 6b04d46 to 8d7c78d Compare August 17, 2025 21:22
@renovate renovate bot changed the title Update TUnit to 0.56.5 Update TUnit to 0.56.35 Aug 17, 2025
@renovate renovate bot force-pushed the renovate/tunit branch from 8d7c78d to 75e4894 Compare August 18, 2025 15:55
@renovate renovate bot changed the title Update TUnit to 0.56.35 Update TUnit to 0.56.44 Aug 18, 2025
@renovate renovate bot force-pushed the renovate/tunit branch from 75e4894 to f2e05e7 Compare August 20, 2025 15:58
@renovate renovate bot changed the title Update TUnit to 0.56.44 Update TUnit to 0.56.50 Aug 20, 2025
@renovate renovate bot force-pushed the renovate/tunit branch 2 times, most recently from a5ce575 to 3549b01 Compare August 21, 2025 19:03
@renovate renovate bot changed the title Update TUnit to 0.56.50 Update TUnit to 0.57.1 Aug 21, 2025
@renovate renovate bot force-pushed the renovate/tunit branch 4 times, most recently from 6804a5f to a0fa274 Compare August 31, 2025 11:03
@renovate renovate bot changed the title Update TUnit to 0.57.1 Update TUnit to 0.57.24 Aug 31, 2025
@renovate renovate bot force-pushed the renovate/tunit branch from a0fa274 to 8e2590a Compare August 31, 2025 13:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
:shipit: merge Shipit! 🚚 private-dependencies Private dependency
Projects
None yet
Development

Successfully merging this pull request may close these issues.

0 participants