AArnott/Xunit.SkippableFact

Adds Xunit dynamic skipping of facts and theories.

148

stars

1,218

commits

PowerShell

primary language

Sep 10, 2026

updated

aarnott.github.io/Xunit.SkippableFact/

README

Xunit.SkippableFact

GitHub Actions 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.

This package targets Xunit v2. Xunit v3 has skipping built-in. See our Xunit v3 migration doc.

Installation

This project is available as a NuGet package

Usage

Learn more at our documentation site.

Below is a sampling of uses.

Skip based on a runtime check:

[SkippableFact]
public void SomeMoodyTest()
{
    Skip.IfNot(InTheMood);
}

Skip based on a thrown exception:

[SkippableFact(typeof(NotSupportedException))]
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.
}

Skip based on SupportedOSPlatformAttribute:

[SkippableFact, SupportedOSPlatform("Windows")]
public void TestCngKey()
{
    var key = CngKey.Create(CngAlgorithm.Rsa);
    Assert.NotNull(key);
}

Sponsorships

GitHub Sponsors

Zcash

Address: u1vv2ws6xhs72faugmlrasyeq298l05rrj6wfw8hr3r29y3czev5qt4ugp7kylz6suu04363ze92dfg8ftxf3237js0x9p5r82fgy47xkjnw75tqaevhfh0rnua72hurt22v3w3f7h8yt6mxaa0wpeeh9jcm359ww3rl6fj5ylqqv54uuwrs8q4gys9r3cxdm3yslsh3rt6p7wznzhky7

Contributors

AArnott

921 commits

renovate[bot]

160 commits

dependabot[bot]

109 commits

fredrikhr

8 commits

AArnott/Xunit.SkippableFact

Adds Xunit dynamic skipping of facts and theories.

148

stars

1,218

commits

PowerShell

primary language

Sep 10, 2026

updated

aarnott.github.io/Xunit.SkippableFact/

README

Xunit.SkippableFact

GitHub Actions 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.

This package targets Xunit v2. Xunit v3 has skipping built-in. See our Xunit v3 migration doc.

Installation

This project is available as a NuGet package

Usage

Learn more at our documentation site.

Below is a sampling of uses.

Skip based on a runtime check:

[SkippableFact]
public void SomeMoodyTest()
{
    Skip.IfNot(InTheMood);
}

Skip based on a thrown exception:

[SkippableFact(typeof(NotSupportedException))]
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.
}

Skip based on SupportedOSPlatformAttribute:

[SkippableFact, SupportedOSPlatform("Windows")]
public void TestCngKey()
{
    var key = CngKey.Create(CngAlgorithm.Rsa);
    Assert.NotNull(key);
}

Sponsorships

GitHub Sponsors

Zcash

Address: u1vv2ws6xhs72faugmlrasyeq298l05rrj6wfw8hr3r29y3czev5qt4ugp7kylz6suu04363ze92dfg8ftxf3237js0x9p5r82fgy47xkjnw75tqaevhfh0rnua72hurt22v3w3f7h8yt6mxaa0wpeeh9jcm359ww3rl6fj5ylqqv54uuwrs8q4gys9r3cxdm3yslsh3rt6p7wznzhky7

Contributors

AArnott

921 commits

renovate[bot]

160 commits

dependabot[bot]

109 commits

fredrikhr

8 commits

Languages

PowerShell

63.8%

C#

34.6%