Conditional unit tests
How to run xunit tests conditionally depending on the environment that is running the tests
Turns out that there aren't any conditional FactAttribute
in xunit, but you can pretty much copy wholesale the extensions created by the ASP.NET Core team from their repo.
It allows you to do things like:
to avoid running a test entirely if you're on CI. the implementation didn't take into account CI builds running via GH actions/workflows, so I tweaked the OnCI() method like so to also consider the commonly used CI
envvar too:
I didn't think it was necessary to create an OnGitHub
method since the envvar is just CI
and well, the method is already called OnCI
:)
Another alternative is using the Xunit.SkippableFact nuget package.
Last updated