Stiamo eseguendo un buildserver di TeamCity 8.1.4 con VS2013 installato sulla macchina.Creazione e test con TeamCity e Fakes Framework
Ho recentemente introdotto test che si basano su Microsoft Fakes Framework. Per questo motivo ho dovuto aggiungere alcuni riferimenti ai nuovi assemblaggi di Fake e all'assemblaggio Microsoft.VisualStudio.TestTools.UnitTesting
. Tutto funziona perfettamente sul mio computer di sviluppo locale.
Ora, quando cerco di creare la soluzione sul server TeamCity, i seguenti errori vengono gettati:
somedirectory \ Processor \ ProcessorTests.cs (3, 27): l'errore CS0234: il tipo o nome del namespace 'falsi' non esiste nello spazio dei nomi 'SomeDirectory.Database' (vi manca un riferimento all'assembly?)
somedirectory \ Processor \ ProcessorTests.cs (7, 66): l'errore CS0234: il tipo o nome namespace 'Fakes' non esiste nel namespace 'SomeDirectory.Service.P rocessor.Report.Processors' (Vi manca un riferimento all'assembly?)
somedirectory \ Processor \ ProcessorTests.cs (9, 17): l'errore CS0234: I tipo o spazio name 'non esiste QualityTools' nella namespace 'Microsoft' (vi manca un riferimento all'assembly?)
ho un po 'a capire i primi due errori, perché non ho commesso assemblee falsi in SVN, quindi non possono essere trovati. Inoltre, non voglio impegnare questi file, perché il server di generazione dovrebbe generare questi da solo. Lo BuildAction
dei file falsi è impostato su Fakes
.
La mia ipotesi è che i primi due errori siano stati soddisfatti dal terzo errore. Per quanto ne so, lo spazio dei nomi QualityTools
risiede nell'assemblaggio Microsoft.VisualStudio.TestTools.UnitTesting
.
Ho provato a risolvere questo problema con diverse impostazioni. Il passaggio di generazione originale che avevo configurato era:
tipo Runner = Visual Studio (SLN)
Visual Studio = Microsoft Visual
Studio 2013
ho cambiato questo a:
Tipo di canale = MSBuild
MSBuild version = Microsoft creare strumenti 2013
MSBuild ToolsVersion = 12,0
Ho anche provato la versione MSBuild .NET 4.5
con ToolsVersion 4.0
.
Tutte queste impostazioni generano gli stessi errori.
Come potete capire, la soluzione non verrà compilata al momento, quindi non posso dire con certezza se i test verranno eseguiti o meno. Ho già trovato a post su come configurare il passaggio di prova con TeamCity, ma questo è il passaggio successivo.
Qualcuno ha un'idea su come risolvere questi problemi con TeamCity e VS2013?
Modifica
Ho già controllato se l'assemblea TestTools.UnitTesting
esiste sul filesystem. Questa assemblea è presente, quindi questo non dovrebbe essere un problema
Edit 2
Ops, ho letto male il terzo messaggio di errore. Avrei dovuto cercare l'assembly Microsoft.QualityTools.Testing.Fakes
perché dice che non è possibile risolvere lo spazio dei nomi QualityTools
. Dopo aver controllato il percorso Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\PublicAssemblies
posso confermare che la dll non è presente sul filesystem.
L'ho copiato manualmente sul buildserver e vedo cosa succederà dopo.
Edit 3
Dopo aver copiato l'assemblaggio Microsoft.QualityTools.Testing.Fakes
al server di build, la soluzione compila come un fascino. Tuttavia, ora sto ricevendo il familiare
Impossibile risolvere il percorso profiler da COR_PROFILER_PATH e variabili d'ambiente COR_PROFILER.
Ho visto questo prima su un server TFS2012. Ciò significava che non era in grado di gestire gli shim e che dovevamo eseguire l'aggiornamento a TFS2013.
Ho appena effettuato l'accesso sul buildserver e ho visto la versione VS2013 scaduta. Questa è forse la ragione per cui non funziona correttamente. L'installazione VS2012 installata è la versione 11.0.50727.1, quindi l'aggiornamento 3 non è installato. Discuterò con i miei colleghi se questo può essere aggiornato. Spero che questo risolva i problemi che sto affrontando con i falsi e gli spessori.
risolto Apparentemente qualcuno ha pensato che fosse divertente installare VS2013 Professional sul buildserver. Pertanto i falsi non possono essere eseguiti, in quanto è una funzione Premium. Installato la versione Premium e tutto funziona come un fascino ora.
Grazie per la risposta. Ho trovato anche questo, come menzionato nel post originale.Il tutorial che ho seguito per la fase di test è: http://blog.degree.no/2012/09/unit-testing-visual-studio-2012-fakes-in-team-city/ Tuttavia, al momento sto riscontrando problemi con la compilazione, quindi non sto ancora eseguendo il test. –
Hai provato a eseguire il checkout e la ricostruzione sulla tua macchina di sviluppo, forse alcuni file non sono stati archiviati? –