Skip to content

mwpowellhtx/xwellbehaved.net

Repository files navigation

xWellBehaved.net

Xwellbehaved NuGet package Xwellbehaved.Core NuGet package

Find your community at https://gitter.im/xwellbehaved/xwellbehaved.net

TL;DR read the documentation https://github.com/mwpowellhtx/xwellbehaved.net/wiki

xWellBehaved.net is an xUnit.net extension, available in full or minimal form, for Behavior Driven Development (BDD) or Test Driven Development (TDD) using natural language.

Platform support: .NET Standard 2.0 and upwards.

Introducing TearDown, Background, etc

xWellBehaved.net has supported BackgroundAttribute for some time now. Background affords developers a predictable Background initialization opportunity, from the base class forward to the class whose Scenarios are being invoked.

Conversely, xWellBehaved.net now also supports TearDownAttribute, which does a similar thing, except treats Background something like a stack, and unwinds teardown evaluation in reverse order. Similar to IDispose, it is up developers to do the right thing unwinding their BDD assets and resources in the correct order.

This is unlike xUnit.net support for IDispose in the sense that unit test resources such as ITestOutputHelper ought still to be available for use during the teardown invocation.

Packages

The full Xwellbehaved package depends on the xunit package. That means you get the full suite of xUnit.net dependencies such as xunit.assert and xunit.analyzers.

The minimal Xwellbehaved.Core package depends on the xunit.core package. That means you get only the minimum dependencies required to write and execute xWellBehaved.net scenarios.

Versioning

We are of the opinion that, xWellBehaved.net is not providing feature symmetry with xUnit.net, per se, nor does it pretend to stand on the same netstandard API surface area. In fact, key areas that facilitate this being "well behaved", so to speak, do depend on netstandard2.0. Along similar lines, we are also unconstrained by historical use cases for the API, so this frees us up a little to make these decisions.

Out of respect, however, we will begin by versioning based on the existing xBehave.net versions, but will most certainly branch out from there.

As a matter of protocol, we do make an effort to provide Semantic Versioning 2.0.0 compatible package versions, and will bump major, minor, etc, fields according to the severity of the changes.

A given xWellBehaved.net patch version may introduce new features, fix bugs, or both.


xWellBehaved.net logo designed by Michael W. Powell.

About

<g-emoji class="g-emoji" alias="heavy_multiplication_x" fallback-src="https://github.githubassets.com/images/icons/emoji/unicode/2716.png">✖</g-emoji> An xUnit.net extension for describing behavior driven test steps with natural language.

Resources

License

Stars

Watchers

Forks

Packages

No packages published