Xceed Fluent Assertions V8.7

Released: Sep 26, 2025

V8.7 での更新項目

機能

  • Added support for System.Text.Json.JsonNode and JsonArray through new assertions as well as the BeEquivalentTo API.
  • Added WithoutMessage to allow asserting an exception message does not contain a wildcard pattern.
  • Added Value.ThatMatches and Value.ThatSatifies to build inline assertions when using BeEquivalentTo.
  • Added WithStrictTyping and WithStrictTypingFor to BeEquivalentTo to ensure types also match.
  • Added ExcludingMembersNamed to BeEquivalentTo to exclude fields and properties anywhere in the graph.
  • Added Should().Throw(), ThrowAsync() and ThrowWithinAsync() flavors that don’t require a specific exception type.
  • Clarified the date/time type when comparing non-compatible dates and times in BeEquivalentTo.
  • Improved the rendering of exception messages when using WithMessage for better readability.
  • Improved support for rendering multi-dimensional arrays in failure messages.
  • Improved subject identification when chaining multiple assertions using Which.
  • Provided a toggle to suppress the soft warning that commercial use requires a paid license.

不具合の修正

  • Ensured WithTracing is safe when used with BeEquivalentTo globally.
  • Fixed a regression from 8.1.0 where a NullReferenceException was thrown during subject identification.
  • Fixed a formatting exception when {} is used as a dictionary key.
  • Removed the PowerShell script that opens the website because it misbehaves.
  • All Should() methods on reference types are now annotated with the [NotNull] attribute for a better Fluent Assertions experience when nullable reference types are enabled.
  • Fixed a regression in which CompleteWithinAsync treated a canceled task as an exception.