AArnott / Xunit.SkippableFact

Adds Xunit dynamic skipping of facts and theories.
Other
131 stars 12 forks source link

Xunit.SkippableFact

Build Status NuGet package

This project allows for Xunit tests that can determine during execution that they should report a "skipped" result. This can be useful when a precondition is not satisfied, or the test is over functionality that does not exist on the platform being tested.

Installation

This project is available as a NuGet package

Example

[SkippableFact]
public void SomeTestForWindowsOnly()
{
    Skip.IfNot(Environment.IsWindows);

    // Test Windows only functionality.
}

You can also automatically report tests as skipped based on specific exception types. This is particularly useful when the test runs against multiple target frameworks and your library is not expected to be implemented in some of them. For example:

[SkippableFact(typeof(NotSupportedException), typeof(NotImplementedException))]
public void TestFunctionalityWhichIsNotSupportedOnSomePlatforms()
{
    // Test functionality. If it throws any of the exceptions listed in the attribute,
    // a skip result is reported instead of a failure.
}