aweXpect.Core
Core package for writing extensions for aweXpect.
Install
| Product | Versions |
|---|---|
| .NET | |
| .NET Standard |
README
aweXpect
Assert unit tests in natural language using awesome expectations.
Getting started
Install the
aweXpectnuget packagedotnet add package aweXpectAdd the following
usingstatement:using aweXpect;This brings the static
Expectclass and lots of extension methods into scope.See the documentation or the migration guide for more information.
Features
Async everything
By using async assertions per default, we have a consistent API and other perks:
- Complete async support, e.g.
IAsyncEnumerableHttpResponseMessageor similar async types - No need to distinguish between
action.Throws()andawait asyncAction.ThrowsAsync() - The evaluation is only triggered after the complete fluent chain is loaded, which has some nice benefits:
Becausecan be registered once as a general method that can be applied at the end of the expectation instead of cluttering all methods with thebecauseandbecauseArgsparametersWithCancellationcan also be registered at the end an applies aCancellationTokento all async methods which allows cancellation ofIAsyncEnumerableevaluations- Expectations can be combined directly (via
Expect.ThatAll) instead of relying on global state ( e.g. assertion scopes)
Performant
A focus on performance allows you to execute your tests as fast as possible.
Special care is taken for the happy case (succeeding tests) to be as performant as possible. See
the benchmarks for more details.
Extensible
We added lots of extensibility points to allow you to build custom extensions.
The aweXpect.Core package is intended to be a stable source for
extensions, so that the risk of version conflicts between different extensions can be reduced.
You can extend the functionality for any types, by adding extension methods on IThat<TType>.
More information can be found in the extensibility guide.
Extension projects
aweXpect.Json
Expectations for the System.Text.Json namespace.aweXpect.Web
Expectations for HttpClient.aweXpect.Reflection
Expectations for reflection types.aweXpect.Testably
Expectations for the file and time system from Testably.Abstractions.
Changes from Previous Version
Adoption Assessment
A verified publisher signal is available. Assess fit from the package's supported frameworks, license and dependency graph rather than popularity alone.
Related Guides & Workflows
Learn how to evaluate, integrate, or audit this package in your .NET project.