FluentAssertions 2.1.0

There is a newer version of this package available.
See the version list below for details.
Install-Package FluentAssertions -Version 2.1.0
dotnet add package FluentAssertions --version 2.1.0
<PackageReference Include="FluentAssertions" Version="2.1.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add FluentAssertions --version 2.1.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: FluentAssertions, 2.1.0"
#r directive can be used in F# Interactive, C# scripting and .NET Interactive. Copy this into the interactive tool or source code of the script to reference the package.
// Install FluentAssertions as a Cake Addin
#addin nuget:?package=FluentAssertions&version=2.1.0

// Install FluentAssertions as a Cake Tool
#tool nuget:?package=FluentAssertions&version=2.1.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

A very extensive set of extension methods that allow you to more naturally specify the expected outcome of a TDD or
     BDD-style unit test. Runs on .NET 3.5, 4.0 and 4.5 (Desktop and Windows Store), Silverlight 4 and 5 and Windows Phone 7.5 and 8. Supports the unit test frameworks NUnit, XUnit, MBUnit, Gallio and MSpec.

This package has no dependencies.

NuGet packages (317)

Showing the top 5 NuGet packages that depend on FluentAssertions:

Package Downloads
FluentAssertions.Json

Fluent Assertions extensions for Newtonsoft.Json

FluentValidation.Validators.UnitTestExtension

A unit test library for .NET that allows you to build tests for FluentValidation rules in easy way.

FluentAssertions.AspNetCore.Mvc

Fluent Assertions extensions for ASP.NET Core MVC.

FluentAssertions.Autofac

Fluent Assertions extensions for Autofac

FluentAssertions.Mvc5

Fluent Assertions extensions for ASP.NET MVC 5.

GitHub repositories (450)

Showing the top 5 popular GitHub repositories that depend on FluentAssertions:

Repository Stars
App-vNext/Polly
Polly is a .NET resilience and transient-fault-handling library that allows developers to express policies such as Retry, Circuit Breaker, Timeout, Bulkhead Isolation, and Fallback in a fluent and thread-safe manner. From version 6.0.1, Polly targets .NET Standard 1.1 and 2.0+.
IdentityServer/IdentityServer4
OpenID Connect and OAuth 2.0 Framework for ASP.NET Core
felixse/FluentTerminal
A Terminal Emulator based on UWP and web technologies.
restsharp/RestSharp
Simple REST and HTTP API Client for .NET
dotnet/orleans
Orleans is a cross-platform framework for building distributed applications with .NET
Version Downloads Last updated
6.2.0 8,497 10/25/2021
6.1.0 1,376,684 8/22/2021
6.0.0 262,344 8/13/2021
6.0.0-beta0003 4,733 8/11/2021
6.0.0-beta0002 3,795 8/5/2021
6.0.0-beta0001 67,935 6/1/2021
6.0.0-alpha0002 214,841 1/7/2021
6.0.0-alpha0001 292,074 7/24/2020
5.10.3 36,342,476 3/21/2020
5.10.2 4,232,135 2/9/2020
5.10.0 3,733,157 1/2/2020
5.9.0 9,090,806 8/28/2019
5.8.0 1,361,091 8/9/2019
5.7.0 4,967,948 6/8/2019
5.6.0 9,670,375 1/11/2019
5.5.3 2,782,030 11/20/2018
5.5.1 209,710 11/16/2018
5.4.2 2,928,701 9/14/2018
5.4.1 4,157,232 6/20/2018
5.4.0 456,835 6/13/2018
5.3.2 692,287 5/30/2018
5.3.0 1,902,879 4/19/2018
5.2.0 1,365,974 3/15/2018
5.1.2 1,026,935 2/19/2018
5.1.1 173,320 2/14/2018
5.0.0 1,243,263 2/4/2018
4.19.4 6,617,301 8/24/2017
4.19.3 1,351,555 7/4/2017
4.19.2 3,238,979 3/8/2017
4.19.0 1,193,675 2/4/2017
4.18.0 1,664,979 12/4/2016
4.17.0 715,748 11/9/2016
4.16.0 307,715 10/26/2016
4.15.0 258,629 10/11/2016
4.14.0 818,093 9/5/2016
4.13.1 90,555 9/1/2016
4.13.0 401,302 8/2/2016
4.12.0 627,503 7/15/2016
4.11.0 225,201 7/6/2016
4.10.0 20,366 7/5/2016
4.9.1 220,421 6/23/2016
4.9.0 146,338 6/13/2016
4.8.0 77,962 6/7/2016
4.7.0 52,143 6/6/2016
4.6.3 295,307 5/24/2016
4.6.2 43,343 5/22/2016
4.6.1 131,672 5/13/2016
4.5.0 263,564 4/25/2016
4.4.0 163,157 4/17/2016
4.3.2 81,131 4/3/2016
4.3.1 4,891 4/1/2016
4.3.0 68,771 3/31/2016
4.2.2 581,008 2/5/2016
4.2.1 323,813 1/10/2016
4.2.0 209,257 1/8/2016
4.1.1 156,107 12/13/2015
4.1.0 330,974 11/24/2015
4.0.1 358,000 10/21/2015
4.0.0 457,014 8/24/2015
4.0.0-beta0001 2,800 8/7/2015
3.5.0 309,419 8/2/2015
3.4.1 289,830 7/3/2015
3.4.0 98,403 6/22/2015
3.3.0 788,953 2/18/2015
3.2.2 234,328 12/12/2014
3.2.1 367,351 9/11/2014
3.1.229 206,908 7/29/2014
3.0.107 328,189 4/30/2014
2.2.0 592,175 12/30/2013
2.1.0 244,859 8/23/2013
2.0.1 258,264 3/3/2013
2.0.0.1 112,080 10/15/2012
1.7.1.1 79,837 3/24/2012
1.7.0 9,546 1/13/2012
1.6.0 13,716 10/31/2011
1.5.0 9,014 6/29/2011
1.4.0 5,390 3/14/2011
1.3.0.1 17,563 1/15/2011

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.