You want to skip tests programmatically in xUnit?

by Feb 23, 2024

You want to skip tests programmatically in xUnit?

You can’t do it. xUnit doesn’t allow it.

The annoying thing it is already been added to the codebase of xUnit in the start 2020 (see https://github.com/xunit/xunit/issues/2073).

It is planned for xUnit v3… which is still in preview four years later.

Luckly there is the xUnit.SkippableFact nuget package (see https://github.com/AArnott/Xunit.SkippableFact )

This package makes it possible to skip a test, depending on a specific condition.

Replace [Fact] or [Theory] with there skippable counterparts: [SkippableFact] or [SkippableTheory]

Then aad the following line in the test: Skip.If([condition]) or Skip.IfNot([condition])

I use it for some specific integration tests that only work under certain conditions.

Try it!

#
Remy van Duijkeren

Remy van Duijkeren

Power Platform Advisor

Microsoft Power Platform Advisor with over 25 years of experience in IT with a focus on (marketing) automation and integration.

Helping organizations with scaling their business by automating processes on the Power Platform (Dynamics 365).

Expert in Power Platform, Dynamics 365 (Marketing & Sales) and Azure Integration Services. Giving advice and strategy consultancy.

Services:
– Strategy and tactics advise
– Automating and integrating

Subscribe to
The Daily Friction

A daily newsletter on automation and eliminating friction

Related Content

Cancel Culture in IT

Cancel Culture in IT Cancel Culture is happening in major communities to developers and contributors, like: Linux Kernel C++ Standard Committee Python NixOS openSUSE Godot And the reasons? Completely absurd: Being Republican Liking an old SNL sketch Using the word...

read more

VS Code is NOT an IDE.

VS Code is NOT an IDE. And I like it that way. I use VS Code as a fast text editor. Just a couple of bare-bone plugins. No bloat. No unnecessary features. Just speed. I see people turning VS Code into a full-fledged IDE with tons of extensions. At that point… just use...

read more