FluentAssertions 2.1.0
Showing the top 20 packages that depend on FluentAssertions.
| Packages | Downloads |
|---|---|
|
MicroPlumberd.Testing
Testing utilities for MicroPlumberd. Includes Given-When-Then specs, Docker-based EventStore server management, and integration testing helpers for aggregates, command handlers, and process managers.
|
4 |
|
MicroPlumberd.Testing
Testing utilities for MicroPlumberd. Includes Given-When-Then specs, Docker-based EventStore server management, and integration testing helpers for aggregates, command handlers, and process managers.
|
3 |
|
MicroPlumberd.Testing
Testing utilities for MicroPlumberd. Includes Given-When-Then specs, Docker-based EventStore server management, and integration testing helpers for aggregates, command handlers, and process managers.
|
2 |
What are the major features * Added support for Windows Phone 8 test projects, both using the Visual Studio 2010 test harnass, as well as the new MSTest based framework introduced in Visual Studio 2012 Update 2 (#12470) * Added support for AggregateExceptions in .NET 4.0 or newer so that aggregated exceptions are treated the same way as normal exceptions. This also allows you to use Should(Not)Throw() to assert a specific exception has occurred (or not), even if it is wrapped in an AggregateException (#12482). * ShouldBeEquivalent() will attempt to report all differences rather than just the first one. It also supports nested dictionaries (#12472). * By default the order of items in (nested) collections is ignored while asserting the equivalency of two object graphs. You can override this using the WithStrictOrder()/WithStrictOrderFor() options, with or without a specific path or predicate. Notice that for performance reasons, collections of bytes are still compared in exact order (#12484).
What other improvements are new
* Added support for asserting a method is decorated with a certain attribute (by Nathan Roe)
* Added BeWritable() to the property info assertions .
* XName support for all XML-related assertiosn (#12453 by Igor Khavkin)
* Added Should().BeApproximately() for decimal values.
* Added support for ShouldNotThrow() on Func<Task> so that you can verify that asynchronous functions threw a task (by Igor Khavkin)
* Ensured that all reference type assertions inherit from ReferenceTypeAssertions so that they all share some basic methods like (Not)BeNull.
* Added support for string.Should().NotStartWith() and string.Should().NotEndWith(). Also added the case-insensitive versions of them. (#12441)
* Allowed adding, removing and/or reordering the steps the EquivalencyValidator executes while comparing two object graphs for structural equality.
* By default, the exception message assertions are based on wildcards and case-insensitive. The ComparisonMode enum has been marked obsolete.
Bug fixes
* Added catching of FileLoadExceptions so AttributeBasedFormatter will not crash on certain circumstances.
* Made test framework detection based on assembly scanning case insensitive (#12483)
* Fixed a type-mismatch error when two nullable properties were compared using an AssertionRule.
* The method collection.ShouldBeEquivalent() ignored duplicates in the expectation.
* Applied a small improvement by Groostav to collection.HaveCount() because it was counting collections through LINQ Count() even though it has a normal Count property (#12469).
* Comparing a null collection with another null collection will now succeed (#12490)
* When a type was generic, FA wouldn't display its properties in assertion failures (#12492)
* On Mono, the AttributeBasedFormatter sometimes throws a NullReferenceException, but this has been fixed by Frank Ebersoll (#12487).
* During a structural equality check, FA would incorrectly decide to include protected properties in the comparison. This has been fixed now (#12486).
* FA chocked on properties overriden using the new keyword. Now it just tries to be smart about it and select the one which type matches the subject (#12481).
* When a floating point value representing NaN was compared with another approximate value, it didn't throw (#12479).
* Improved the details of any unexpected exceptions during the ShouldThrow() and ShouldNotThrow() methods (#12473).
* Collection.ShouldBeInAscendingOrder() wasn't reporting the correct index if an item appeared out-of-order (#12468).
Breaking changes
* Renamed the Execute.Verification property to Execute.Assertion and introduced an internal AssertionScope.
| Version | Downloads | Last updated |
|---|---|---|
| 8.10.0 | 3 | 05/19/2026 |
| 8.9.0 | 7 | 03/23/2026 |
| 8.8.0 | 9 | 03/21/2026 |
| 8.7.1 | 4 | 04/24/2026 |
| 8.7.0 | 7 | 03/23/2026 |
| 8.6.0 | 4 | 03/23/2026 |
| 8.5.0 | 4 | 04/24/2026 |
| 8.4.0 | 5 | 03/23/2026 |
| 8.3.0 | 10 | 03/28/2026 |
| 8.2.0 | 5 | 03/23/2026 |
| 8.1.1 | 4 | 04/24/2026 |
| 8.1.0 | 3 | 03/16/2026 |
| 8.0.1 | 5 | 03/23/2026 |
| 8.0.0 | 4 | 04/24/2026 |
| 7.2.2 | 8 | 03/23/2026 |
| 7.2.1 | 5 | 03/23/2026 |
| 7.2.0 | 4 | 04/24/2026 |
| 7.1.0 | 3 | 04/24/2026 |
| 7.0.0 | 4 | 03/23/2026 |
| 7.0.0-alpha.3 | 5 | 03/30/2026 |
| 6.12.2 | 4 | 04/21/2026 |
| 6.12.1 | 5 | 03/23/2026 |
| 6.12.0 | 4 | 03/23/2026 |
| 6.11.0 | 3 | 04/25/2026 |
| 6.10.0 | 3 | 04/25/2026 |
| 6.9.0 | 4 | 04/24/2026 |
| 6.8.0 | 4 | 04/24/2026 |
| 6.7.0 | 4 | 04/24/2026 |
| 6.6.0 | 4 | 04/24/2026 |
| 6.5.1 | 4 | 04/24/2026 |
| 6.5.0 | 3 | 04/24/2026 |
| 6.4.0 | 4 | 04/24/2026 |
| 6.3.0 | 4 | 04/24/2026 |
| 6.2.0 | 3 | 04/24/2026 |
| 6.1.0 | 4 | 04/24/2026 |
| 6.0.0 | 4 | 04/24/2026 |
| 6.0.0-beta0003 | 3 | 04/25/2026 |
| 6.0.0-beta0002 | 3 | 04/25/2026 |
| 6.0.0-beta0001 | 4 | 04/25/2026 |
| 6.0.0-alpha0002 | 3 | 04/25/2026 |
| 6.0.0-alpha0001 | 3 | 04/25/2026 |
| 5.10.3 | 3 | 04/25/2026 |
| 5.10.2 | 3 | 04/25/2026 |
| 5.10.0 | 3 | 04/25/2026 |
| 5.9.0 | 4 | 04/24/2026 |
| 5.8.0 | 4 | 04/24/2026 |
| 5.7.0 | 3 | 04/24/2026 |
| 5.6.0 | 4 | 04/24/2026 |
| 5.5.3 | 4 | 04/24/2026 |
| 5.5.1 | 4 | 04/24/2026 |
| 5.4.2 | 3 | 04/24/2026 |
| 5.4.1 | 3 | 04/24/2026 |
| 5.4.0 | 4 | 04/24/2026 |
| 5.3.2 | 4 | 04/24/2026 |
| 5.3.0 | 3 | 04/24/2026 |
| 5.2.0 | 5 | 04/24/2026 |
| 5.1.2 | 4 | 04/24/2026 |
| 5.1.1 | 4 | 04/24/2026 |
| 5.0.0 | 4 | 04/24/2026 |
| 4.19.4 | 2 | 04/25/2026 |
| 4.19.3 | 3 | 04/25/2026 |
| 4.19.2 | 3 | 04/25/2026 |
| 4.19.0 | 3 | 04/25/2026 |
| 4.18.0 | 4 | 04/25/2026 |
| 4.17.0 | 3 | 04/25/2026 |
| 4.16.0 | 3 | 04/25/2026 |
| 4.15.0 | 3 | 04/25/2026 |
| 4.14.0 | 3 | 04/25/2026 |
| 4.13.1 | 3 | 04/25/2026 |
| 4.13.0 | 3 | 04/25/2026 |
| 4.12.0 | 4 | 04/25/2026 |
| 4.11.0 | 3 | 04/25/2026 |
| 4.10.0 | 3 | 04/25/2026 |
| 4.9.1 | 4 | 04/24/2026 |
| 4.9.0 | 4 | 04/24/2026 |
| 4.8.0 | 4 | 04/24/2026 |
| 4.7.0 | 4 | 04/24/2026 |
| 4.6.3 | 4 | 04/24/2026 |
| 4.6.2 | 4 | 04/24/2026 |
| 4.6.1 | 4 | 04/24/2026 |
| 4.5.0 | 4 | 04/24/2026 |
| 4.4.0 | 4 | 04/24/2026 |
| 4.3.2 | 4 | 04/24/2026 |
| 4.3.1 | 4 | 04/24/2026 |
| 4.3.0 | 4 | 04/24/2026 |
| 4.2.2 | 4 | 04/24/2026 |
| 4.2.1 | 4 | 04/24/2026 |
| 4.2.0 | 3 | 04/24/2026 |
| 4.1.1 | 4 | 04/24/2026 |
| 4.1.0 | 4 | 04/24/2026 |
| 4.0.1 | 4 | 04/24/2026 |
| 4.0.0 | 4 | 04/24/2026 |
| 4.0.0-beta0001 | 3 | 04/25/2026 |
| 3.5.0 | 4 | 04/24/2026 |
| 3.4.1 | 3 | 04/24/2026 |
| 3.4.0 | 4 | 04/24/2026 |
| 3.3.0 | 4 | 04/24/2026 |
| 3.2.2 | 4 | 04/24/2026 |
| 3.2.1 | 5 | 04/24/2026 |
| 3.1.229 | 4 | 04/25/2026 |
| 3.0.107 | 4 | 04/25/2026 |
| 2.2.0 | 3 | 04/24/2026 |
| 2.1.0 | 3 | 04/24/2026 |
| 2.0.1 | 4 | 04/24/2026 |
| 2.0.0.1 | 3 | 04/25/2026 |
| 1.7.1.1 | 2 | 04/25/2026 |
| 1.7.0 | 5 | 04/24/2026 |
| 1.6.0 | 4 | 04/24/2026 |
| 1.5.0 | 3 | 04/24/2026 |
| 1.4.0 | 3 | 04/24/2026 |
| 1.3.0.1 | 3 | 04/25/2026 |