13

Il mio problema è abbastanza semplice, ho un server CI che esegue msbuild e mstest.Come utilizzare MsTest in Integrazione continua senza VS?

Il problema è che il Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll non esiste (e io pensa altro file relativi a MSTest ...) se non installiamo VS nel wich del server è abbastanza stupido per un server CI ...

Qualcuno ha una soluzione a questo problema?

+1

Hanno un programma di installazione separato per questo scopo ora, chiamato "Agenti per Visual Studio". Ce n'è uno per [2010] (http://www.microsoft.com/en-us/download/details.aspx?id=1334), e per [2012] (http://www.microsoft.com/en- noi/download/Details.aspx? id = 38186). –

risposta

8

Sfortunatamente, non è supportato o non è possibile installare VS sul computer dell'agente di generazione nel 2005 o nel 2008 (There will be a test agent installer in 2010). UPDATE: See this post from Steve Smith for more info which says pretty much the same thing

Non è solo una questione di assenza degli assembly: se si desidera eseguire i test, il runner non è solo un piccolo EXE e una DLL separati.

Sì, difficile da credere! Inutile dire che pochissimi altri framework di test sul pianeta hanno questa restrizione, quindi a meno che non si abbiano molti test, si potrebbe prendere in considerazione lo spostamento, per una serie di motivi che sono coperti in molti posti, ad esempio: The fundamental problems and impracticality of using MSTest ...

EDIT: Spinto dalla risposta di Rihan, ho binged il seguente Running mstest without Visual Studio. - non è pienamente supportato, ma 'funziona' ...

EDIT 2: Running MSTest without Visual Studio - Gallio to the rescue sembra molto più promettente in termini di essere sostenuto e non hacky. NB vedi il commento di @Johannes Rudolph su questo post tho'

EDIT 3: Aggiunto informazioni re 2010 di stato su questa questione

NOTA: Ho una domanda simile per il 2008 per quanto riguarda ciò che è necessario per sostenere il parametro/pubblicazione di MSTest : - Running MSTEST.exe /publish on a TeamBuild server, what are the prerequisites?

+0

So che la cosa migliore è succhiare ma è integrata a VS, e il mio cliente non vuole altre cose come nunit ... Provo a testare la via di Rihan per il momento ... I migliori saluti Loïc – LoKtO

+0

Abbastanza giusto. Capisco. Altri buoni approcci sono TestDriven.NET, il corridore GUI Gallio, la GUI NUnit (puoi farlo eseguire automaticamente su compilazione che funziona molto bene, significa che tutto ciò che devi fare è premere Maiusc-F6 e qualsiasi altra serie di test tu want (basato su categorie o albero dei nomi, o selezione multipla tramite caselle di controllo) sono immediatamente ri-eseguiti.L'altra cosa è considerare l'instradamento su NUnit (vendita più semplice a un negozio MSTEST rispetto a xUnit.NET anche se generalmente per impostazione predefinita) e quindi utilizzando Resharper o TestDriven.NET per offrire un'esperienza superiore ai test integrati VS. –

+0

Sì, lo so su TestDriven.Net, ma 10 licenze costano più di 1000 $ stessa cosa sul resharper ma alcuni sviluppatori hanno già la loro licenza. Per il momento, la via di Rihan funziona, ma voglio sapere se è legittima o meno:/In caso contrario, cercherò di spostare dev in NUnit ma sarà difficile, loro già non vogliono fare un Test unitario che è in interazione con VS UI così NUnit ... Ma ci proverò. Grazie per il tuo aiuto e se ce ne sono uno ha una risposta sulla legalità e le licenze sarà bello :) – LoKtO

0

Abbiamo configurato Cruise Control sul nostro server di integrazione. Non ho installato Visual Studio, tuttavia ho copiato gli assembly MSTEST nel GAC. Abbiamo quindi utilizzato Cruise Control Documentation per configurare i nostri rapporti di prova. Funziona molto bene.

+0

Come ha fatto MSTEST.EXE a raggiungere la macchina? C'è da qualche parte che descrive in dettaglio i passaggi necessari per fare quella parte (e le qhich che le DLL di QT devono entrare nel GAC). Ovviamente se funziona, è grandioso ... –

+0

È un ambiente di sviluppo condiviso, e un'altra persona ha ottenuto il MSTests per funzionare, non è sicuro di quello che ha fatto per farlo funzionare. Ciò che aiuta anche nel controllo del codice sorgente è una cartella delle risorse che contiene piccoli strumenti utili come mstest.exe e tinyget.exe che aiutano a fare un http get dopo la nostra build per verificare che il sito funzioni. Fa il checkout più grande ma questo non ha alcun problema a questo punto. Sempre alla ricerca di modi più semplici per automatizzare. –

+0

Mi piacerebbe che alcune delle cose trattate nei link che ho aggiunto alla mia risposta sia ciò che è successo ... consiglierei di usare qualcosa come Gallio, o passare a NUnit o xUnit.NET - specialmente se si ' re il tipo di negozio che ha scelto CC.NET vs TeamCity o VSTS –

2

La soluzione specifica per me e un Visual Studio 2010 è stato:

  1. Installa "Test Agent 2010" di Visual Studio Agents 2010
  2. Riavviare Windows
  3. Installare Visual Studio 2010 Service Pack 1
  4. Riavviare Windows
  5. Assicurarsi che il i riferimenti dei progetti vengono aggiornati in modo da indicare "Microsoft.VisualStudio.QualityTools.UnitTestFramework" "10.1.0.0" e non "10.0.0.0".
3

@Ruben Bartelink: È possibile ottenere MSTest.exe nella vostra macchina con l'installazione di agenti di test. puoi trovarlo @ location location. Dopo l'installazione, richiamare mstest.exe con/testcontainer e/test opzioni. Funziona correttamente e crea file trx. Cerca qualcosa che possa elaborare trx e generare report.

http://www.microsoft.com/en-us/download/details.aspx?id=38186

Problemi correlati