Search code examples
.netxunit2

Customize Test Name in Xunit2


When I run my tests today with xUnit v2, I typically use a naming convention like:

[Fact(DisplayName= "Method Will Do Something")] public void Method_Will_Do_Something() { }

What extensibility point can I plug into that will allow me set my test display name based on the naming conventions of my test method?


Solution

  • The simplest way: Custom fact attribute, discoverer, and test case.

    Example: https://github.com/xunit/samples.xunit/tree/master/RetryFactExample

    For your custom test case, derive from XunitTestCase and override the Initialize() method. After calling base.Initialize(), set the DisplayName property appropriately.

    You can see the default behavior for XunitTestCase here: https://github.com/xunit/xunit/blob/master/src/xunit.execution/Sdk/Frameworks/XunitTestCase.cs