MICROSOFT VISUAL STUDIO
MICROSOFT VISUAL STUDIO: UnitTest and TRX files

Avete a che fare con UnitTest in ambiente Visual Studio? Volete esportare i vostri test?

Dovete testare un web service? Avete a che fare con problemi di Code Coverage?

Siete nel posto giusto.

 

 

ESPORTARE GLI UNIT-TEST

Supponiamo di avere una solution Visual Studio, supponiamo di avere una batteria di test unitari e di voler esportare il risultato.

Come si fa? Da Visual Studio 2013 questa semplicissima opprtunità pare non ci sia.

Cosa alquanto strana!!!

A mio giudizio è una funzionalità assolutamente indispensabile, Mi sembra ovvio che se faccio dei test unitari prima o poi avrò la necessità di salvare il loro risultato.

Allora come fare? Per fortuna, Visula Studio mette a disposizione una comando da usare via Console.

Il comando da usare è il seguente:

 

mstest /testcontainer:<path to DLL>\myUnitTestSolution.dll /resultsfile:<path to save results>\mytest.trx

 

Così facendo si ottiene il file TRX dei nostri test.

Dove si trova questa console? Di solito si trova nella stessa cartella dell'eseguibile di Visual Studio, ad es. D:\Programmi (x86)\Microsoft Visual Studio 12.0\Common7\IDE.

Un altro comando, che non ho provato ma che dovrebbe fare la stessa cosa, è il seguente:

 

vstest.console.exe <path to DLL>\myUnitTestSolution.dll /Settings:<path to my test config>\test.runsettings" /logger:trx

 

COSA è UN FILE TRX?

Cos'è un file TRX? E' un file XML che descrive il risultato della nostra batteria di test.

 

TRASFORMARE I FILE TRX IN HTML

Questo file può anche essere trasformato in HTML mediante l'uso di un altro programma.

Cosa che tra l'altro consiglio perché il formato TRX altrimenti è poco utilizzabile.

Il programma da usare è Trx2HTML.

Questo programma è semplicissimo da usare. Basta unzipparlo e mettere il file TRX nella stessa cartella.

Poi da prompt DOS si digita:

 

trx2html.exe mytest.trx

 

Ed il gioco è fatto!

 

TESTARE UN WEB SERVICE

E' possibile testare un web service?

Certo che sì, e lo si può fare usando i Web Performance Test.

La migliore guida è proprio quella della Microsoft 

How to: Create a Web Service Test

 

CODE COVERAGE: ESCLUDERE LE CLASSI DI TEST

E' normale che dalla analisi del Code Coverage si vogliano escludere le classi di test.

Per fare questo è sufficiente mettere il seguente attributo alla classe:

 

using System.Diagnostics.CodeAnalysis;
[ExcludeFromCodeCoverage]
public class MiaClasseDaEscludere

{

...

}

 

Un'altra utile guida è la seguente https://msdn.microsoft.com/it-it/library/jj159530(v=vs.120).aspx

 

Buon lavoro!

Il nostro sito utilizza i cookie

Usando il sito accetti implicitamente il loro uso. Per saperne di piu'

Approvo