2016-08-31 4 views
0

Kürzlich hatten wir ein Problem, bei dem ein Komponententest mehr als 20 Minuten zum Ausführen auf dem Build-Server benötigte.Wie kann ich das Timeout für einen Einheitentest festlegen, der in TFS Build Server ausgeführt wird

Ich habe jetzt dieses Problem behoben, aber ich fragte mich, ob es einen Weg gab, den Test zu versagen, wenn ein CI Build auf TFS-Server ausgeführt wird, wenn ein Test ein bestimmtes Zeitlimit erreicht. Ich habe mir die Definition in TFS angesehen und das einzige Zeitlimit, das ich konfigurieren kann, ist das "Build-Job-Timeout in Minuten", das für das gesamte Projekt gilt. Momentan sind es 60 Minuten.

Was ich will ist eine "Unit Test Timeout".

Kann dies in TFS konfiguriert werden? oder muss ich es in meinen Testeinstellungen für die Lösung einstellen?

Antwort

2

Die Funktion der Zeitüberschreitung eine Aufgabe hat bereits in VSTS und neue TFS15RC1 bestanden. Wenn Sie VSTS oder TFS15 verwenden, können Sie das Timeout für die Testaufgabe direkt in Builddefinition angeben können, überprüfen Sie die Abbildung unten:

enter image description here

Wenn Sie TFS verwenden 2015 gibt es keine direkte Möglichkeit Timeout einstellen für eine Aufgabe in Builddefinition, aber Sie können das Timeout für jede Testmethod in Ihrem Unit Test-Projekt, zum Beispiel ein:

[TestMethod(),Timeout(10000)] 
+0

@Cace - Wir verwenden TFS 2015 (in Haus-Version) hier und bei der Suche Definition es hat den Build-Schritt "Visual Studio Test" und nicht "Test Assemblies". Wenn ich noch einmal durch Definition suche, gibt es "Run Settings File". Kann ich es auf eine TestSettings-Konfiguration verweisen, wo ich denke, dass ich eine Zeitüberschreitung einstellen kann. Ich werde das später überprüfen – BrownCow

+1

"Test Assemblies" ist der Name der Aufgabe in TFS15 und VSTS. Es sollte das gleiche wie "Visual Studio Test" in TFS 2015 sein :-). Sie können versuchen, das Timeout in der Testsettings-Datei zu setzen, da die runsettings-Datei keine Timeout-Eigenschaft hat. –

Verwandte Themen