Skip to content

Releases: thomhurst/TUnit

1.55.0

14 Jun 15:30
c9ae5a3

Choose a tag to compare

What's Changed

Other Changes

  • feat(aspire): add TUnit.Aspire.Core without TUnit metapackage dependency (#5471) by @thomhurst in #6243
  • fix(analyzers): scope TUnit0031 async-void rule to tests and hooks (#6190) by @thomhurst in #6244

Dependencies

Full Changelog: v1.54.0...v1.55.0

1.54.0

12 Jun 20:01
7a2961d

Choose a tag to compare

What's Changed

Other Changes

  • Generate collection-shape drill-in overloads (#6185) by @thomhurst in #6218
  • feat(mocks): setup/verify on secondary interfaces of multi-type mocks by @thomhurst in #6230
  • perf: reduce allocations in source-gen test building hot paths by @thomhurst in #6228
  • perf: shrink generated TestEntry builder IL via shared TUnit.Core factory helpers by @thomhurst in #6231

Dependencies

  • chore(deps): update tunit to 1.53.0 by @thomhurst in #6199
  • chore(deps): update verify to 31.19.1 by @thomhurst in #6200
  • chore(deps): update dependency messagepack to 3.1.7 by @thomhurst in #6203
  • chore(deps): update dependency fsharp.core to 10.1.301 by @thomhurst in #6202
  • chore(deps): update dependency microsoft.entityframeworkcore to 10.0.9 by @thomhurst in #6205
  • chore(deps): update dependency dotnet-sdk to v10.0.301 by @thomhurst in #6204
  • chore(deps): update dependency microsoft.templateengine.authoring.cli to v10.0.301 by @thomhurst in #6206
  • chore(deps): update dependency microsoft.templateengine.authoring.templateverifier to 10.0.301 by @thomhurst in #6207
  • chore(deps): update microsoft.aspnetcore to 10.0.9 by @thomhurst in #6209
  • chore(deps): update dependency system.commandline to 2.0.9 by @thomhurst in #6208
  • chore(deps): update microsoft.extensions by @thomhurst in #6211
  • chore(deps): update dependency dompurify to v3.4.9 by @thomhurst in #6213
  • chore(deps): bump shell-quote from 1.8.3 to 1.8.4 in /docs by @dependabot[bot] in #6210
  • chore(deps): update dependency polly to 8.7.0 by @thomhurst in #6214
  • chore(deps): update dependency microsoft.net.stringtools to 18.7.1 by @thomhurst in #6215
  • chore(deps): update microsoft.build to 18.7.1 by @thomhurst in #6216
  • chore(deps): update opentelemetry to 1.16.0 by @thomhurst in #6217
  • chore(deps): update dependency dompurify to v3.4.10 by @thomhurst in #6229

Full Changelog: v1.53.0...v1.54.0

1.53.0

08 Jun 23:56
08e629c

Choose a tag to compare

What's Changed

Other Changes

  • feat(assertions): return typed value from IsAssignableTo (#6184) by @thomhurst in #6187
  • fix: stop doubling backslashes in source-gen emitted FilePath (breaks HTML report source links) by @thomhurst in #6193
  • feat(assertions): add ContainsKey().And.Value drill-in for dictionaries (#6185) by @thomhurst in #6188
  • fix(tests): snapshot ExecutionLog under lock to fix parallel race by @thomhurst in #6194
  • fix(engine): run lifecycle hooks before test class construction (#6192) by @thomhurst in #6195
  • feat(assertions): inference-friendly pinned overload for covariant [AssertionExtension] with own generic (#5922) by @thomhurst in #6196
  • feat: add DeferEnumeration to defer data-source expansion to runtime (#5833) by @thomhurst in #6197

Dependencies

Full Changelog: v1.51.0...v1.53.0

1.51.0

07 Jun 21:29
391a76a

Choose a tag to compare

What's Changed

Other Changes

  • fix(mocks): WasCalled/WasNeverCalled assertions via [GenerateAssertion] for all ICallVerification types by @thomhurst in #6176
  • fix: create fresh non-shared instances per CombinedDataSources combination by @thomhurst in #6179
  • fix: assign TestDetails before TestContext is published to ClassHookContext.Tests by @thomhurst in #6182
  • fix: resolve inherited instance data source members for MethodDataSource by @thomhurst in #6178
  • feat(mocks): per-element matchers for params array parameters by @thomhurst in #6181
  • fix: invoke inner Func for TestDataRow<Func> data sources (#6161) by @thomhurst in #6183

Dependencies

Full Changelog: v1.50.0...v1.51.0

1.50.0

05 Jun 20:06
8f6d82a

Choose a tag to compare

What's Changed

Other Changes

  • fix(analyzers): decouple code fixers from Rules to prevent MissingFieldException in VS by @thomhurst in #6158
  • Fix mock wrappers for indexers and generic methods by @thomhurst in #6163
  • Add global mock default mode by @thomhurst in #6164

Full Changelog: v1.49.0...v1.50.0

1.49.0

03 Jun 21:36
ad66357

Choose a tag to compare

What's Changed

Other Changes

  • docs: benchmark page descriptions + promote Benchmarks in sidebar by @thomhurst in #6143
  • feat(mocks): discriminate generic-method mocks by type argument by @thomhurst in #6153
  • fix(source-gen): jagged array data fails to compile (#6150) by @thomhurst in #6152
  • fix: dispose shared fixtures when only a subset of consuming tests runs by @thomhurst in #6156

Dependencies

Full Changelog: v1.48.6...v1.49.0

1.48.6

01 Jun 09:59
fb197f0

Choose a tag to compare

What's Changed

Other Changes

Dependencies

Full Changelog: v1.48.0...v1.48.6

1.48.0

31 May 23:28
80ec6c8

Choose a tag to compare

What's Changed

Other Changes

  • feat(html-report): baked-in C# syntax highlighting on Source tab by @slang25 in #6132
  • feat(analyzers): suppress VSTHRD200 on test and hook methods by @thomhurst in #6123
  • fix(source-gen): correct source location for cross-project inherited tests by @slang25 in #6133
  • feat(assertions): add WasCalled to tunit mocks assertions by @robertcoltheart in #6126
  • feat(arguments): bind array values to a single array test parameter by @thomhurst in #6122
  • fix: populate retry/flaky attempt history in HTML report (#6119) by @thomhurst in #6124

Dependencies

  • chore(deps): update tunit to 1.47.0 by @thomhurst in #6115
  • chore(deps): update dependency microsoft.visualstudio.threading.analyzers to 17.14.15 by @thomhurst in #6134

Full Changelog: v1.47.0...v1.48.0

1.47.0

29 May 00:11
8cfce4c

Choose a tag to compare

What's Changed

Other Changes

  • perf(engine): hoist GetParameters and dict-dedup AfterTestDiscovery hooks by @thomhurst in #6062
  • perf(engine): hoist GetParameters and drop LINQ in reflection discovery by @thomhurst in #6063
  • perf(engine): cache treenode filter path on TestMetadata by @thomhurst in #6064
  • perf: use is T pattern in ReflectionExtensions.HasAttribute fallback (#6060) by @thomhurst in #6066
  • perf: replace OrderBy().ToArray() with Array.Sort in ConstraintKeyScheduler by @thomhurst in #6067
  • perf: pool HashSet in WaitingTestIndex.GetCandidatesForReleasedKeys by @thomhurst in #6069
  • perf: collapse OfType chains in JUnitXmlWriter (#6052) by @thomhurst in #6070
  • perf(engine): avoid closure allocation in AfterHookPairTracker.GetOrCreateAfterAssemblyTask (#6041) by @thomhurst in #6071
  • perf: avoid closure allocation in BeforeHookTaskCache.GetOrCreateBeforeAssemblyTask (#6040) by @thomhurst in #6073
  • perf: use TryAdd in TestDependencyResolver dependency dedupe by @thomhurst in #6068
  • perf: replace LINQ Any with foreach in TestGenericTypeResolver (#6044) by @thomhurst in #6072
  • perf: avoid Cast().FirstOrDefault() iterator alloc in CastHelper (#6029) by @thomhurst in #6074
  • perf(engine): avoid string round-trip when building nested type names (#6049) by @thomhurst in #6075
  • perf(engine): replace Select+ToArray with manual Type[] build (#6043) by @thomhurst in #6076
  • perf(core): replace OfType().FirstOrDefault()/.Any() with foreach in ClassConstructorHelper by @thomhurst in #6078
  • perf(engine): avoid FirstOrDefault iterator alloc in TestGenericTypeResolver by @thomhurst in #6079
  • perf(engine): use SearchValues for reporter filename sanitization by @thomhurst in #6090
  • perf: dedupe TestDataFormatter.FormatArguments with pooled StringBuilder by @thomhurst in #6088
  • perf(engine): use MemoryExtensions.Split for path parsing in MetadataFilterMatcher by @thomhurst in #6085
  • perf(engine): use CollectionsMarshal.GetValueRefOrAddDefault for dictionary index builds by @thomhurst in #6086
  • perf(engine): replace LINQ Where closure with inline filter in MetadataDependencyExpander BFS by @thomhurst in #6084
  • perf(engine): pool StringBuilder in DisplayNameBuilder.FormatArguments by @thomhurst in #6082
  • Preserve specialized chaining after null assertions by @thomhurst in #6008
  • perf: use EnumerateLines for line splitting in HtmlReportGenerator by @thomhurst in #6089
  • perf: collapse Replace chain in TestNameFormatter.BuildTestId by @thomhurst in #6083
  • perf: use OrdinalIgnoreCase Contains in HtmlReportGenerator span mapping by @thomhurst in #6093
  • perf(assertions): avoid eager interpolated-string alloc in assertion source ctors by @thomhurst in #6091
  • perf: optimize TestNameFormatter argument and bool formatting by @thomhurst in #6095
  • perf: use FrozenSet/FrozenDictionary for read-only static lookups by @thomhurst in #6099
  • perf: avoid GetCustomAttributes() + LINQ chain for per-property attribute scans by @thomhurst in #6098
  • perf(engine): replace magic-string RequiredAttribute match with type check in ConstructorHelper by @thomhurst in #6087
  • perf(core): replace Select+Func factory chain in DataSourceHelpers by @thomhurst in #6081
  • perf: replace LINQ dependency extraction with manual loop by @thomhurst in #6096
  • perf(core): avoid string[] alloc in ArgumentFormatter.FormatArguments by @thomhurst in #6080
  • perf: use [GeneratedRegex] in MetadataFilterMatcher by @thomhurst in #6094
  • perf: dedupe GetSimpleTypeName into shared TypeNameFormatter by @thomhurst in #6097
  • fix: remove GitVersion MSBuild task, pin local builds to 99.99.99 (#6077) by @thomhurst in #6101
  • HTML Report: source link + code snippet on Source tab (#5993) by @thomhurst in #6100
  • perf(sourcegen): Single-pass attribute classification by @thomhurst in #6111
  • perf(core): eliminate per-test allocations in TestDetails/HookMethod by @thomhurst in #6109
  • perf: hoist char[] alloc in FsCheckPropertyTestExecutor to static SearchValues by @thomhurst in #6108
  • perf(core): de-LINQ data-source expansion by @thomhurst in #6110
  • perf: avoid LINQ chains in TestDependency equality and MethodDataSourceAttribute method matching by @thomhurst in #6092
  • perf(engine): reduce allocations in reflection-mode discovery/execution by @thomhurst in #6113
  • perf(assertions): allocation-free passing path (TUnit.Assertions) by @thomhurst in #6112
  • Dependencies

    Full Changelog: v1.46.0...v1.47.0

1.46.0

28 May 16:21
2d2e87a

Choose a tag to compare

What's Changed

Other Changes

  • docs: add Rider VSTest conflict troubleshooting by @smolchanovsky in #5989
  • Populate generated test metadata with full source spans by @Copilot in #5991
  • Add devcontainer configuration by @Copilot in #5995
  • fix: treenode filter pre-filter rejects parenthesised segments (#6026) by @thomhurst in #6027
  • fix(engine): isolate per-session state under MTP server-mode concurrency (#6001) by @thomhurst in #6025

Dependencies

  • chore(deps): update dependency stackexchange.redis to 2.13.10 by @thomhurst in #5985
  • chore(deps): update tunit to 1.45.29 by @thomhurst in #5986
  • chore(deps): update dependency mockolate to 3.2.1 by @thomhurst in #5987
  • chore(deps): update dependency microsoft.playwright to 1.60.0 by @thomhurst in #5988
  • chore(deps): update dependency messagepack to 3.1.6 by @thomhurst in #5992
  • chore(deps): update dependency polyfill to 10.7.0 by @thomhurst in #5998
  • chore(deps): update dependency polyfill to 10.7.0 by @thomhurst in #5997
  • chore(deps): update verify to 31.17.0 by @thomhurst in #6000
  • chore(deps): update verify to 31.18.0 by @thomhurst in #6013
  • chore(deps): update dependency microsoft.net.test.sdk to 18.6.0 by @thomhurst in #6016
  • chore(deps): update dependency dompurify to v3.4.6 by @thomhurst in #6015
  • chore(deps): update dependency dompurify to v3.4.7 by @thomhurst in #6019
  • chore(deps): update dependency npgsql to 10.0.3 by @thomhurst in #6020
  • chore(deps): update dependency stackexchange.redis to 2.13.17 by @thomhurst in #6021
  • chore(deps): update dependency npgsql.entityframeworkcore.postgresql to 10.0.2 by @thomhurst in #6022

New Contributors

Full Changelog: v1.45.29...v1.46.0