Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How can XUnit be configured to show just the method name in the Visual Studio 2015 Test Explorer?

When using xunit.runner.visualstudio version 2.0.1 in Visual Studio 2015, the names of the tests show up fully qualified. Is there a way for the tests to show only the method name?

Consider the following test: -

namespace MySolution.Tests
{
    public class MyTestClass
    {
        [Fact]
        public void ClassUnderTest_WhenDefaultConstructorUsed_SomePropertyIsNotNull()
        {
            *... test code in here*
        }
    }
}

In the Test Explorer this shows as: -

MySolution.Tests.MyTestClass.ClassUnderTest_WhenDefaultConstructorUsed_SomePropertyIsNotNull

Using MSTest/VSTest this will show up as: -

ClassUnderTest_WhenDefaultConstructorUsed_SomePropertyIsNotNull
like image 585
Wayne Birch Avatar asked Sep 02 '15 10:09

Wayne Birch


People also ask

How do you write xUnit test cases in .NET core?

To write a test you simply create a public method that returns nothing and then decorate it with the Fact attribute. Inside that method you can put whatever code you want but, typically, you'll create some object, do something with it and then check to see if you got the right result using a method on the Assert class.


2 Answers

You can also add it with json.

In the root directory of your test project add a file called "xunit.runner.json".

Right-click the file, properties. Select "Copy if newer" for copy to Output directory.

Then in the file enter this json:

{
    "methodDisplay": "method"
}

Note that you may1 require to restart the IDE in order to have the changes applied.

1 Visual Studio 2019 requires an IDE restart.

like image 168
lorengphd Avatar answered Oct 16 '22 19:10

lorengphd


Set xunit.methodDisplay in your App.config file.

<configuration>
  <appSettings>
    <add key="xunit.methodDisplay" value="method"/>
  </appSettings>
</configuration>

Taken from http://xunit.github.io/docs/configuring-with-xml.html

like image 62
Brad Wilson Avatar answered Oct 16 '22 19:10

Brad Wilson