2015-09-02 14 views
35

Bei Verwendung von xunit.runner.visualstudio Version 2.0.1 in Visual Studio 2015 werden die Namen der Tests voll qualifiziert angezeigt. Gibt es eine Möglichkeit für die Tests, nur den Methodennamen anzuzeigen?Wie kann XUnit so konfiguriert werden, dass nur der Methodenname im Visual Studio 2015 Test Explorer angezeigt wird?

Betrachten Sie den folgenden Test: -

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

Im Test-Explorer zeigt dies, wie: -

MySolution.Tests.MyTestClass.ClassUnderTest_WhenDefaultConstructorUsed_SomePropertyIsNotNull 

Mit MSTest/VSTest diese Show wird als: -

ClassUnderTest_WhenDefaultConstructorUsed_SomePropertyIsNotNull 
+0

Siehe [untere Antwort] (https://stackoverflow.com/a/41643793/1739931) für __net-core__. – THBBFT

Antwort

51

Setzen Sie in Ihrer App.config Datei Datei.

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

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

+0

Danke Brad! Ich weiß nicht, wie ich das verpasst habe und seltsamerweise steht es im Widerspruch zu diesem Thread: - https://github.com/xunit/xunit/issues/524 –

+0

Beachten Sie, dass dies nur für Version 2.0+ des Testlaufers funktioniert. Weitere Informationen finden Sie in der Dokumentation unter http://xunit.github.io/docs/configuring-with-xml.html. – MiloDC

+5

Ich habe versucht, die Konfigurationsoption 'methodDisplay' auf 'method' zu setzen, indem ich den DNX-Runner benutze. Ich folgte diesem Dokument http://xunit.github.io/docs/configuring-with-json.html für die Konfiguration des DNX-Runner. Mein Problem ist, dass der im Test-Explorer angezeigte Name immer noch [Klasse] ist. [Methode], obwohl ich erwartet habe, dass es [Methode] ist. Es scheint jedoch zu funktionieren, wenn Tests mit dem Befehl 'dnx test' in einer Konsole ausgeführt werden. –

43

Sie es mit json auch hinzufügen können.

Fügen Sie im Stammverzeichnis Ihres Testprojekts eine Datei mit dem Namen "xunit.runner.json" hinzu.

Klicken Sie mit der rechten Maustaste auf die Datei, Eigenschaften. Wählen Sie "Copy if neuher", um in das Ausgabeverzeichnis zu kopieren.

Dann in der Datei dieses json eingeben:

{ 
    "methodDisplay": "method" 
} 
+1

So viel einfacher zu lesen in ** Test Explorer ** jetzt - großer Fund! Arbeitete für mich in VS 2017 RTM. – SliverNinja

+1

Ich brauchte einige Antworten auf diese Antwort, bevor ich merkte, dass ich das verbessern sollte. Entschuldigen Sie. – tia

+1

Um genau zu sein, dieses __works für net core__ auch. – THBBFT