Skip to content

Release v4.3.0

Choose a tag to compare

@github-actions github-actions released this 23 Oct 06:53
0db3786

Summary

Adds an experimental native specification runner on Microsoft.Testing.Platform, plus two disposal fixes for the TUnit and xUnit v3 packages. The runner and its options may change without notice while it is experimental; see the README.

Added

  • Experimental Cratis.Specifications.Runner that runs Establish/Because/should_ specifications directly on Microsoft.Testing.Platform, without xUnit, NUnit or TUnit underneath. Specifications are registered at compile time by a source generator, so the test project can be published with Native AOT (part of #65)
  • The runner constructs each specification class once, runs Establish and Because once and runs its facts against that instance. It accepts Given/When as aliases for Establish/Because and shows names as readable sentences (Author › when registering › should be registered) (part of #65)
  • Runner options --specs-parallel, --specs-sequential-facts, --fail-fast, --last-failed-first, --shard and --specs-cache (part of #65)
  • A benchmark harness and a manually dispatched Benchmarks workflow that compare the xUnit, xUnit v3, TUnit and native runner packages with their raw frameworks (#64)

Fixed

  • xUnit v3 specifications are now disposed even when Destroy throws
  • Sequence comparisons in the TUnit package's assertions now dispose the enumerators they create