Skip to content

Blog

Faster .NET CI/CD pipelines with test filters

01.15.2021 | Backend Testing | Ryan Taylor
Faster .NET CI/CD pipelines with test filters

Sluggish integration and delivery pipelines leave developers vulnerable to distraction. If your unit and integration tests live in one .csproj and run in both CI and CD, tune your pipeline stages to run only relevant tests.

The Tests

[Fact]
[Trait("Category","Unit")]
public async Task ThisTest_ShouldBeAUnitTest() 
{
   // Useful unit test
} 

[Fact]
[Trait("Category","Integration")]
public async Task WhenThisThingDoesX_ThatThingShouldDoY() 
{
   // Useful integration test
}

Tuning the Pipelines

To run only unit tests in CI: dotnet test --filter Category=Unit

To run only integration tests in CD: dotnet test --filter Category=Integration

--- Photo credit: Andrew Parnell

Share