2015-09-02 11 views
35

Quando si utilizza la versione 2.0.1 di xunit.runner.visualstudio in Visual Studio 2015, i nomi dei test vengono visualizzati completi. C'è un modo per i test di mostrare solo il nome del metodo?In che modo XUnit può essere configurato per mostrare solo il nome del metodo in Visual Studio 2015 Test Explorer?

Si consideri il seguente test: -

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

In Esplora Verifica questo mostra come: -

MySolution.Tests.MyTestClass.ClassUnderTest_WhenDefaultConstructorUsed_SomePropertyIsNotNull 

Utilizzando MSTest/VSTest questo apparirà come: -

ClassUnderTest_WhenDefaultConstructorUsed_SomePropertyIsNotNull 
+0

Consulta l'[risposta inferiore] (https://stackoverflow.com/a/41643793/1739931) per __net-core__. – THBBFT

risposta

51

Impostare xunit.methodDisplay nel file App.config.

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

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

+0

Grazie Brad! Non so come mi sia mancato e curiosamente è in disaccordo con questo thread: - https://github.com/xunit/xunit/issues/524 –

+0

Si noti che questo funziona solo per la versione 2.0+ del corridore di prova. Vedi la documentazione su http://xunit.github.io/docs/configuring-with-xml.html. – MiloDC

+5

Ho provato a impostare l'opzione di configurazione 'methodDisplay' su 'method', usando il dnx runner. Ho seguito questo documento http://xunit.github.io/docs/configuring-with-json.html per la configurazione del dnx runner. Il mio problema è che il nome mostrato in Test Explorer è ancora [Class]. [Method], anche se mi aspettavo che fosse [Method]. Sembra funzionare come previsto durante l'esecuzione di test utilizzando il comando 'dnx test' in una console. –

43

È inoltre possibile aggiungere con JSON.

Nella directory principale del progetto di test, aggiungere un file denominato "xunit.runner.json".

Fare clic con il tasto destro del mouse sul file, proprietà. Seleziona "Copia se più recente" per la copia nella directory Output.

Poi nel file di entrare in questo JSON:

{ 
    "methodDisplay": "method" 
} 
+1

Molto più facile da leggere in ** Test Explorer ** ora - ottima scoperta! Ha funzionato per me in VS 2017 RTM. – SliverNinja

+1

Ci sono volute poche visite a questa risposta prima che mi rendessi conto che avrei dovuto revocarlo. Mie scuse. – tia

+1

Per essere precisi, anche questo __works per net core__. – THBBFT

Problemi correlati