How can XUnit be configured to show just the metho

2019-01-11 02:38发布

问题:

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

回答1:

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



回答2:

You can also add it with json.

In 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"
}