2015-09-02 11 views
35

Podczas używania xunit.runner.visualstudio wersja 2.0.1 w Visual Studio 2015, nazwy testów są w pełni kwalifikowane. Czy istnieje sposób, aby testy pokazywały tylko nazwę metody?W jaki sposób skonfigurować XUnit tak, aby wyświetlał tylko nazwę metody w Eksploratorze testów programu Visual Studio 2015?

Rozważmy następujący test: -

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

w Eksploratorze przetestować ten pokazuje, jak: -

MySolution.Tests.MyTestClass.ClassUnderTest_WhenDefaultConstructorUsed_SomePropertyIsNotNull 

Używanie MSTest/VSTest ten pojawi się jako: -

ClassUnderTest_WhenDefaultConstructorUsed_SomePropertyIsNotNull 
+0

zobaczyć [niższą odpowiedź] (https://stackoverflow.com/a/41643793/1739931) dla __net-core__. – THBBFT

Odpowiedz

51

Ustaw xunit.methodDisplay w swoim pliku .

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

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

+0

Dzięki Brad! Nie wiem, jak to przegapiłem i co ciekawe, kłóci się z tym wątkiem: - https://github.com/xunit/xunit/issues/524 –

+0

Należy zauważyć, że działa to tylko w przypadku wersji 2.0 i wersji testowej. Zobacz dokumentację na http://xunit.github.io/docs/configuring-with-xml.html. – MiloDC

+5

Próbowałem ustawić opcję config 'methodDisplay' na 'method', używając programu dnx runner. Połączyłem się z tym dokumentem http://xunit.github.io/docs/configuring-with-json.html dla konfiguracji programu uruchamiającego dnx. Mój problem polega na tym, że nazwa wyświetlana w Eksploratorze testów to nadal [Klasa]. [Metoda], chociaż spodziewałem się, że będzie to [Metoda]. Wydaje się działać zgodnie z oczekiwaniami podczas uruchamiania testów za pomocą polecenia "dnx test" w konsoli. –

43

Można również dodać je JSON.

W katalogu głównym projektu testowego dodaj plik o nazwie "xunit.runner.json".

Kliknij prawym przyciskiem myszy plik, właściwości. Wybierz "Kopiuj, jeśli nowsza", aby skopiować do katalogu wyjściowego.

Następnie w pliku wprowadzić ten json:

{ 
    "methodDisplay": "method" 
} 
+1

O wiele łatwiejsze do odczytania w ** Eksploratorze testów ** teraz - świetne znalezisko! Pracował dla mnie w VS 2017 RTM. – SliverNinja

+1

Kilka razy musiałem odpowiedzieć na tę odpowiedź, zanim zdałem sobie sprawę, że powinienem to zrobić. Przepraszam. – tia

+1

Mówiąc dokładniej, __works for net core__ również. – THBBFT

Powiązane problemy