AwesomeAssertions 8.0.1
Prefix Reserveddotnet add package AwesomeAssertions --version 8.0.1
NuGet\Install-Package AwesomeAssertions -Version 8.0.1
<PackageReference Include="AwesomeAssertions" Version="8.0.1" />
paket add AwesomeAssertions --version 8.0.1
#r "nuget: AwesomeAssertions, 8.0.1"
// Install AwesomeAssertions as a Cake Addin #addin nuget:?package=AwesomeAssertions&version=8.0.1 // Install AwesomeAssertions as a Cake Tool #tool nuget:?package=AwesomeAssertions&version=8.0.1
<img src="docs/assets/images/awesomeassertions-banner-responsive.svg" width="40%" />
A fork of FluentAssertions controlled by the community
FluentAssertions, up to version 7.x, was licensed under Apache 2.0. Starting with later versions, licensing changes introduced potential fees for developers.
In response to these changes, this community project was created. Please read the FAQ for more details.
Visit https://awesomeassertions.org for background information, usage documentation, an extensibility guide, support information and more tips & tricks.
Automatic replacement using Renovate Bot
If you are using Renovate Bot, you can automatically replace FluentAssertions with AwesomeAssertions by adding the
following rule to your renovate.json
:
{
"packageRules": [
{
"matchPackageNames": ["FluentAssertions"],
"replacementName": "AwesomeAssertions",
"replacementVersion": "7.0.0"
}
]
}
Renovate will then open PRs to replace FluentAssertions with AwesomeAssertions where applicable.
Alternatively, use PowerShell script to replace the dependencies.
How do I build this?
Install Visual Studio 2022 17.8+ or JetBrains Rider 2021.3 as well as the Build Tools 2022 (including the Universal Windows Platform build tools). You will also need to have .NET Framework 4.7 SDK and .NET 8.0 SDK installed. Check the global.json for the current minimum required version.
What are these Approval.Tests?
This is a special set of tests that use the Verify project to verify whether you've introduced any breaking changes in the public API of the library.
If you've verified the changes and decided they are valid, you can accept them using AcceptApiChanges.ps1
or AcceptApiChanges.sh
. Alternatively, you can use the Verify Support plug-in to compare the changes and accept them right from inside Rider. See also the Contribution Guidelines.
FAQ
Q: Who are the maintainers?
A: The current maintainers of AwesomeAssertions are @cbersch, @jcfnomada, @jupjohn, @IT-VBFK, and @ScarletKuro.
Q: Will the license change to a more permissive or restrictive license compared to Apache 2.0?
A: The license will never change, not even to MIT. We will only maintain the original Apache 2.0 license.
Q: How is it possible that you released version 8 with almost identical changes if version 8 of FluentAssertions is under a commercial license?
A: This was possible because the license change was made at the final stage of the version 8 release. Any commits made before the license change were free to use, as licenses cannot be applied retroactively. If commits were added to the branch while it was under the Apache 2.0 license, they remain under Apache 2.0. So, any commits before this change fluentassertions/fluentassertions@df7e9bf can be legally used under the Apache 2.0 terms.
Q: What is the benefit of this project, and will it continue to evolve and be maintained?
A: The development of the project depends on the community. We will review and merge pull requests that meet the project's requirements. We actively cherry-pick relevant changes from FluentAssertions version 7 and add them to our fork, as FluentAssertions version 7 is under the old license.
This project is useful for users who are concerned about potential license issues with version 8 or those working in environments where commercial use could cause licensing complications. Our fork eliminates these concerns and offers a clean solution for such cases.
Q: Where can I find the documentation?
A: You can find the documentation at https://awesomeassertions.org
Q: Why is this package using the FluentAssertions namespace? Isn't that illegal?
A: The namespaces are part of the API, which was developed under the Apache 2.0 license. The Google v. Oracle case ruled that APIs are considered fair use, so including the 'FluentAssertions' namespace in the API class names is acceptable. While this is permissible now, we may consider changing the namespaces in the future.
Legal Disclaimer
- This package is not affiliated with or endorsed by the authors of FluentAssertions.
- FluentAssertions is a trademark of its respective owners.
- This package was made possible by the hard work and dedication of the original authors and more than 200 contributors to FluentAssertions. We are extremely grateful for their efforts.
- For the latest information about FluentAssertions, visit the official repository.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 is compatible. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 is compatible. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETFramework 4.7
- System.Threading.Tasks.Extensions (>= 4.5.4)
-
.NETStandard 2.0
- System.Threading.Tasks.Extensions (>= 4.5.4)
-
.NETStandard 2.1
- No dependencies.
-
net6.0
- No dependencies.
NuGet packages (6)
Showing the top 5 NuGet packages that depend on AwesomeAssertions:
Package | Downloads |
---|---|
Reo.Core.Testing
Package Description |
|
Soenneker.Tests.Logging
A base testing class providing logging capabilities |
|
Reo.Core.IntegrationTesting
Package Description |
|
ActualLab.Testing
ActualLab.Testing is a collection of testing helpers used by ActualLab.Fusion tests. |
|
AwesomeAssertions.Json
Awesome Assertions extensions for Newtonsoft.Json |
GitHub repositories (2)
Showing the top 2 popular GitHub repositories that depend on AwesomeAssertions:
Repository | Stars |
---|---|
MudBlazor/MudBlazor
Blazor Component Library based on Material Design principles with an emphasis on ease of use and extensibility
|
|
umlx5h/LLPlayer
The media player for language learning, with dual subtitles, AI-generated subtitles, realtime-OCR, translation, word lookup, and more!
|
Version | Downloads | Last updated |
---|---|---|
8.0.1 | 68,005 | 2/18/2025 |
8.0.0 | 101,002 | 1/27/2025 |
8.0.0-rc.3 | 27,370 | 1/14/2025 |
8.0.0-rc.2 | 38 | 1/14/2025 |
8.0.0-rc.1 | 39 | 1/14/2025 |
7.2.1 | 2,436 | 2/18/2025 |
7.2.0 | 1,988 | 2/8/2025 |
7.1.0 | 24,073 | 1/18/2025 |
7.0.0 | 9,929 | 1/14/2025 |