TFS 2013 automated build: Gibt es eine Möglichkeit, die Tests aus dem src-Ordner auszuführen?

9

Ich verwende derzeit die Standard-Build-Prozess-Vorlage in TFS 2013 für meine automatisierten Builds.

Ich habe den Parameter OutputLocation so konfiguriert, dass er AsConfigured lautet, um die gleiche Ordnerstruktur wie meine Visual Studio-Lösung zu erhalten (es gibt mehrere Projekte in der Lösung und ich möchte nicht, dass alle in dieselbe fallen gelassen werden) Ordner).

Das Problem ist, dass der Build-Prozess, wenn er versucht, die Tests auszuführen, nach einer Assembly im Ordner bin sucht, während meine Build-Konfiguration dafür sorgt, dass nur ein src -Ordner vorhanden ist.

Gibt es eine Möglichkeit, stattdessen den Ordner src anzugeben? Sollte es nicht die Standardeinstellung sein, wenn die AsConfigured Einstellung verwendet wird?

Bearbeiten : Um es deutlich zu machen, werden normalerweise drei Ordner erzeugt, wenn ein automatisierter TFS-Build (src, bin, tst) ausgeführt wird. Wenn AsConfigured für den Ausgabeort verwendet wird, gibt es keinen Ablageordner. Ich habe einen Vorschlag ausprobiert, der die Test sources spec -Einstellung des Build-Prozesses ändern musste, und ich bekomme das gleiche Problem wie zuvor:

%Vor%     
Gabriel G. Roy 12.05.2014, 15:38
quelle

4 Antworten

2

Am Ende habe ich ein PowerShell-Skript als Post-Build-Ereignis verwendet, um meine Test-Assemblies in den bin-Ordner des Builds zu kopieren.

Es gibt PowerShell-Skripte, die für TFS 2013 auf CodePlex verfügbar sind, und ich habe dieses geändert leicht, um meine Bedürfnisse zu befriedigen.

Dadurch konnte ich die Standardeinstellungen zum Ausführen der Tests verwenden, und es funktionierte wie ein Zauber.

    
Gabriel G. Roy 13.05.2014, 13:26
quelle
1

Ändern Sie in Ihrer Build-Definition den Wert der Einstellung "Test Sources spec" in *** test * .dll (vorausgesetzt, Ihre Unit-Test-Assemblies haben das Suffix .test.dll)

BEARBEITEN: Bitte verwenden Sie ** \ * test * .dll; ** \ * test * .appx

    
Hamid Shahid 12.05.2014 16:18
quelle
1

Versuchen Sie, diese Dateimasken zu verwenden: ..\**\*test*.dll

Es funktioniert für mich.

    
LionSoft 05.05.2015 06:57
quelle
0

Ich habe die Einstellung "AsConfigured" für die X64-Plattform aktiviert, die die Binärdateien in src\x64\Release\ platziert (und sie verwendet, um sie in bin\x64\Release\ ohne diese Option zu platzieren). Also habe ich ..\..\..\src\**\*test*.dll als meine "Test Sources spec" verwendet.

    
Vladimir Shutow 24.10.2017 16:53
quelle