2016-04-22 39 views
5

In una delle nostre definizioni di build sto provando a configurare un passaggio di build di "Visual Studio Test" per eseguire una serie specifica di test.Esegui/Escludi test specifici nella definizione di build Team Foundation Server 2015

C'è una casella "Criteri filtro test" (sotto), ma questo non sembra avere alcun effetto, eseguendo tutti i test a prescindere. Non è come la casella del filtro di ricerca in Test Explorer in VS2015, e ci sono alcuni riferimenti a un 'TestCaseFilter' ma questo non si applica qui (e potrebbe essere solo TFS2012).

TFS build definition Visual Studio Test configuration

questo può essere usato per filtrare in realtà le prove, o dovrei fare qualche altro modo (ad esempio fornire un file di impostazioni?)

FWIW stiamo usando xUnit per i nostri test di unità.

+0

Si tratta di dicembre ora, e funziona l'accumulo con 'TestCategory = Setup test di BuildTime' quando ho i miei test contrassegnati da '[TestCategory (" BuildTime ")]'. – SayusiAndo

risposta

1

prova Criteri di filtro filtri test all'interno del file di montaggio di prova. Questa opzione funziona allo stesso modo dell'opzione della console /TestCaseFilter of vstest.console.exe, è possibile testare con la riga di comando vstest.console.exe per vedere se funziona.

In alternativa, è possibile specificare i test nel Test Assembly. Questo campo specifica gli assembly di test da cui devono essere prelevati i test.

  • jolly possono essere utilizzati
  • percorsi multipli possono essere specificati separate da un punto e virgola
  • percorsi sono relative alle fonti Directory
+0

Sebbene ciò non spieghi perché i criteri del filtro di prova non funzionano, lo spostamento di test per separare gli assiemi, quindi utilizzando il filtro 'Assembler di test', funziona come previsto ed è una soluzione accettabile. L'alternativa sarebbe avere una configurazione di compilazione separata e utilizzare istruzioni pre-processore per abilitare/disabilitare i test. – MJF

2

Il campo Criteri filtro test è il modo migliore per filtrare i test. Devi aggiungere un attributo ai tuoi test per classificare i tuoi test. Ecco post che spiega questa caratteristica:

https://dotnetcatch.com/2016/03/11/vststfs-visual-studio-test-task-filter-criteria/

+0

Non ho 'TestCategory' disponibile come quello che fa nell'esempio di codice ... Mi chiedo se questo si applica solo a 'mstest'? Stiamo usando xUnit che potrebbe avere una sintassi diversa per il filtraggio ... Sto ancora cercando di capire come funzionano questi framework di test. – MJF

+0

Mi spiace che tu non abbia menzionato che stavi usando nUnit. Sulla base di questo articolo nUnit dovrebbe essere supportato anche usando l'attributo "Category". https://blogs.msdn.microsoft.com/visualstudioalm/2013/06/11/part-3-unit-testing-with-traits-and-code-coverage-in-visual-studio-2012-using- the-tfs-build-and-the-new-nuget-adapter-approach/ – chief7

+0

Non ho menzionato nUnit ... ma ho menzionato che stavo usando xUnit nella domanda originale :) Darò un'occhiata a quell'articolo ... – MJF

0

Se l'obiettivo è di escludere una prova di test da un corsa che può essere realizzato tramite

TestCategory!={name}

Nel mio caso io di solito utilizzare l'integrazione o manuale per indicare un test non-CI quindi il mio filtro è

TestCategory!=Integration&TestCategory!=Manual