brendanconnolly / Xunit.Categories

Friendlier attributes to help categorize your tests
Apache License 2.0
136 stars 20 forks source link
xunit

Xunit.Categories

Friendlier attributes to help categorize your tests.

Messy Traits?

The xUnit built in option Traits can get a little messy. Its just 2 strings representing a key and value, unless you are familiar with xUnit and the Trait attribute it looks a little magical.

Also both key and value must be specified on the command line. This means if you decorate your test with [Trait("Category","Bug")] you cannot run only tests from a specific bug without adding another trait ([Trait("Bug","8675309"])

Friendly Attributes Included

Open an issue or pull request to add more.

Example

[Fact]
[Bug]
public void TestBug()
{
    throw new NotImplementedException("I'm a bug");
}

[Fact]
[Bug("777")]
public void TestBugWithId()
{
    throw new NotImplementedException("I've got your number");
}

Using this attribute you get descriptive information and flexibility when running tests. You can run all tests marked as Bugs

xunit.console.exe ... -trait "Category=Bug"

-or via dotnet test

dotnet test --filter "Category=Bug" 

or get more granular

xunit.console.exe ... -trait "Bug=777"

-or via dotnet test
dotnet test --filter "Bug=777"